HTTP/2 ストリーム増幅 PoC · Docker · Webコンソール
HTTP/2 は単一のTCP接続で複数のストリームを多重化できます。このPoCは、多数の内部参照を含む特別に形成されたHEADERSフレームを作成し、サーバーがそれらを追跡するために大量のメモリを割り当てるように強制します。
| サーバー | 増幅率 | 効果 |
|---|---|---|
| Envoy 1.37.2 | ~5,700:1 | 約10秒で約32GB |
| Apache httpd 2.4.67 | ~4,000:1 | 約18秒で約32GB |
| Nginx | 高 | 急速にOOM |
最小のトラフィックで最大のメモリ枯渇。
git clone https://github.com/obrige/http2-bomb.git
cd http2-bomb
docker compose up -d
事前構築済みイメージ
ghcr.io/obrige/http2-bomb:latestを使用します。ローカルビルドは不要です。
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8080
docker pull ghcr.io/obrige/http2-bomb:latest
docker run -d -p 8080:8080 ghcr.io/obrige/http2-bomb:latest
許可されたセキュリティテストおよび教育研究目的に限ります。 明示的な書面による許可なしにターゲットに対して使用しないでください。ユーザーはすべての法的責任を負います。