Hello there, ('ω')ノ
1. 初期発見:User-Agent ヘッダでの反射型XSS
- 攻撃者は自作のXSSファジングを実行
- User-Agent がレスポンスに反射することを確認
- 単純に
"><script>alert(1)</script>を挿入 → XSS成立 👉 ただし「特殊リクエストをユーザーに送らせるのは非現実的」と判断し、次の手法へ。
2. HTTPリクエスト・スマグリングの検出
- Burp Suite の拡張で Smuggling Probe を実行
- TE.CL(Transfer-Encoding / Content-Length の食い違い)が存在することを確認 👉 「XSSを利用者に直接出させず、サーバーを通して他人のレスポンスに注入できる」と考える。
3. TE.CL 攻撃リクエストの作成
Burp Suite Repeater で Content-Length 自動更新をオフにして細工。
構造:
- 最初のリクエストは通常通り(A×1000などで埋める)
- その後に「密輸リクエスト」を追加
例:
Transfer-Encoding: chunked Content-Length: 1007 [大きなダミーデータ] GET /404hopefully HTTP/1.1 Host: target.com
- フロントエンド:最初のリクエストだけ処理
- バックエンド:密輸リクエストを新規リクエストとして処理 → 404エラーが返れば成功
4. バイパス技法:Transfer-Encoding の難読化
この続きはcodocで購入