XSS
Cross-Site Scripting
XSS(クロスサイトスクリプティング)とは
ひとことで
Webページに悪意あるスクリプトを埋め込み、閲覧者のブラウザで実行させる攻撃。出力時のエスケープやCSPで対策する。
たとえると
誰でも書き込める掲示板に、読んだ人が勝手に操作されてしまう「仕掛け付きの貼り紙」を貼るようなものです。被害を受けるのは掲示板(サイト)ではなく、貼り紙を読んだ人(閲覧者)です。
現場ではこう使う
口コミサイトのコメント欄に、<script>タグを含む投稿が書き込まれました。サイトが入力をそのまま表示したため、そのページを開いた利用者のブラウザでスクリプトが実行され、ログイン状態を表すCookie(セッション情報)が攻撃者に送られてしまいました。
試験のポイント
EXAM POINTログや入力値に「<script>」「alert(」「onerror=」が出てきたらXSS。対策は「出力時のエスケープ(エンコード)」「入力値の検証」「CSP(Content Security Policy)」。CookieにHttpOnly属性を付けるとスクリプトから盗まれにくくなります。種類として「格納型」「反射型」「DOMベース」も問われます。