
CVE-2023-38545(curlヒープバッファオーバーフロー)の概念実証エクスプロイト。SOCKS5プロキシとHTTPサーバーを含み、脆弱性をトリガーしてシステムの露出を判断します。
このリポジトリには、CVE-2023-38545脆弱性のテスト用に設計された概念実証(PoC)が含まれています。この脆弱性はcurlユーティリティに影響し、特にバージョン7.69.0から8.3.1の間で、HTTPリダイレクトの処理に関連しています。
必要なソフトウェア: curl
このPoCは以下の2つの主要コンポーネントで構成されています:
このステップは、既存のsocks5プロキシを使用できる場合はオプションです。
setup_socks5.shを実行します
$ chmod +x setup_socks5.sh
$ ./setup_socks5.sh
これにより、必要な依存関係がインストールされ、SOCKS5プロキシサーバーがポート1080でセットアップされます。
次のコマンドを実行して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