90 · H. セキュリティ
Cross-Site Scripting
XSS
Webページに悪意のコードを注入
コメント投稿
素敵な記事ですね!
<script>stealCookie()</script>
↓ 別ユーザーが閲覧
VICTIM BROWSER
🍪 Cookie送信中…
XSSってそもそも何?
Webページの入力欄にHTMLやJavaScriptを仕込んで、他の訪問者のブラウザで実行させる攻撃です。例えばコメント欄に<script>~</script>を投稿すると、その後ページを見た人のCookie・セッションが盗まれたり、勝手に操作されたりします。Webアプリの基本的な脆弱性で、OWASP Top 10 にも長年ランクイン。
身近な例えで理解する
例① 掲示板にウイルスを貼る
コメント欄は本来テキストを書く場所ですが、サイト側の処理が甘いとHTMLタグがそのまま動く。見に来た全員が攻撃対象になる、厄介な攻撃。
例② 刃物は新聞紙で包んで捨てる
包丁をそのままゴミ袋に入れたら回収の人が怪我をする。新聞紙で包んで「ただの紙束」に見せるから安全に運べる。XSS対策も同じで、危ない記号を無害な形に包む発想です。
まとめ
XSSは、Webに悪意コードを注入する古典攻撃。ユーザー入力を表示する時は、必ずエスケープする。AIにコード書かせる時も「エスケープ忘れてない?」と必ずチェック。