マルテクテクBETA Security+
XSS
Cross-Site Scripting

XSS(クロスサイトスクリプティング)とは

ひとことで

Webページに悪意あるスクリプトを埋め込み、閲覧者のブラウザで実行させる攻撃。出力時のエスケープやCSPで対策する。

たとえると

誰でも書き込める掲示板に、読んだ人が勝手に操作されてしまう「仕掛け付きの貼り紙」を貼るようなものです。被害を受けるのは掲示板(サイト)ではなく、貼り紙を読んだ人(閲覧者)です。

現場ではこう使う

口コミサイトのコメント欄に、<script>タグを含む投稿が書き込まれました。サイトが入力をそのまま表示したため、そのページを開いた利用者のブラウザでスクリプトが実行され、ログイン状態を表すCookie(セッション情報)が攻撃者に送られてしまいました。

試験のポイント

EXAM POINTログや入力値に「<script>」「alert(」「onerror=」が出てきたらXSS。対策は「出力時のエスケープ(エンコード)」「入力値の検証」「CSP(Content Security Policy)」。CookieにHttpOnly属性を付けるとスクリプトから盗まれにくくなります。種類として「格納型」「反射型」「DOMベース」も問われます。

混同しやすい用語との違い

  • CSRF利用者のブラウザに、意図しないリクエスト(送金など)を送らせる。XSSはスクリプトを実行させる
  • SQLi狙いはサーバー側のデータベース

関連用語

XSS が出てくる Security+ の問題に挑戦してみましょう。

無料で演習を始める