该存储库包含一个概念验证(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 # specify both proxy and http server
$ ./cve202338545.sh --socks5-ip <ip> # specify only proxy server
$ ./cve202338545.sh --http-ip <ip> # specify only http server
$ ./cve202338545.sh # both proxy and http server will default to localhost
$ ./cve202338545.sh --DEBUG # both proxy and http server will default to localhost with debug on
这将启动漏洞利用,您应看到输出指示系统是否易受攻击、不易受攻击或测试是否无定论。
有 4 种响应状态:
仅当您使用了步骤 1 中的 setup_socks5.sh 时,才需要此步骤。
要清理 SOCKS5 代理服务器,请执行以下命令:
$ ./cleanup.sh