
A proof of concept for testing CVE-2023-38545 against local curl
该仓库包含一个概念验证(PoC),用于测试系统是否存在CVE-2023-38545漏洞。该漏洞影响curl工具,特别是7.69.0至8.3.1版本之间,与HTTP重定向的处理有关。
所需软件:curl
该PoC包含两个主要组件:
如果您已经有可用的socks5代理,此步骤可选。
执行 setup_socks5.sh
$ chmod +x setup_socks5.sh
$ ./setup_socks5.sh
这将安装所需的依赖项并在1080端口上设置SOCKS5代理服务器。
执行以下命令启动HTTP服务器:
$ python3 server.py
你也可以使用调试日志运行服务器:
$ python3 server.py --debug
成功执行后,HTTP服务器将监听8000端口。
首先,使脚本可执行:
$ chmod +x cve202338545.sh
该脚本可以通过 --socks5-ip 接受socks5代理地址,通过 --http-ip 接受HTTP地址,并可以通过 --DEBUG 输出调试日志。
$ ./cve202338545.sh --socks5-ip <ip> --http-ip <ip> --DEBUG # 同时指定代理和HTTP服务器
$ ./cve202338545.sh --socks5-ip <ip> # 仅指定代理服务器
$ ./cve202338545.sh --http-ip <ip> # 仅指定HTTP服务器
$ ./cve202338545.sh # 代理和HTTP服务器默认均为localhost
$ ./cve202338545.sh --DEBUG # 代理和HTTP服务器默认均为localhost,并开启调试
这将启动漏洞利用,你应该会看到输出指示系统是易受攻击、不易受攻击还是测试结果不确定。
共有4种响应状态:
仅当你在步骤1中使用了 setup_socks5.sh 时才需要此步骤。
要清理SOCKS5代理服务器,执行以下命令:
$ ./cleanup.sh