見えるセキュリティ

反射型XSS

反射型クロスサイトスクリプティング / REFLECTED XSS

同じ入力が、ただの文字列として表示されるか、ブラウザで命令として解釈されるか。その分かれ目を、入力の居場所と形の変化で追います。

THEME
web-vuln
KIND
attack
REVIEW
self-reviewed ·

反射された入力がコードとして解釈される流れ

入力がどこにあり、被害者のブラウザでどの形へ変わるかに注目します。

  • 攻撃者

    細工した入力を用意する

    現在のSTEP

    持ち物

    • <script>…</script>
  • Webサーバー

    入力をレスポンスへ反映する

    持ち物

  • 被害者のブラウザ

    レスポンスを解釈する

    持ち物

STEP 01 / 05DERIVE

1. 細工した入力を用意する

攻撃者が、正規サイトへ送るURLやリクエストに、ブラウザでコードとして解釈され得る文字列を含めます。

現在のSTEP 1STEP 2STEP 3STEP 4STEP 5

この概念の要点

  • 要点

    反射型は保存を成立条件としない

    反射型XSSでは、リクエスト由来の入力が、そのリクエストに対応するレスポンスなどへ反映され、ブラウザでコードとして解釈されます。サーバーへの継続的な保存は成立条件ではありません。保存された入力が後の閲覧時にも配信される保存型XSSとは、攻撃入力がレスポンスへ届く経路が異なります。

  • 注意

    危険になる境界はブラウザでの解釈

    文字列そのものだけで危険性が決まるのではなく、入力がレスポンス内のどの文脈へ置かれ、ブラウザにデータかコードのどちらとして解釈されるかが重要です。

理解確認

反射型XSSで、入力が実際の危険へ変わる決定的な瞬間はどれですか?

参考資料