【実務・中級編】JavaScriptのURLスキーム(javascript:)を用いたXSS攻撃の防御 – アプリケーションセキュリティ & 安全な開発防御ガイド

【現場の教訓】javascript:スキームによるXSSは「URLフィルタリング」の甘さから生まれる

こんにちは。現場で泥をすすりながらインシデント対応をしてきた経験から言わせてもらうと、セキュリティ対策において「ブラックリスト方式」はほとんどの場合、敗北を意味する。特に、Webアプリケーションのプロフィール編集機能や掲示板などで、ユーザーにURLを入力させる実装をしているなら注意が必要だ。

今回取り上げるのは、javascript:スキームを用いたXSS(クロスサイトスクリプティング)だ。これ、教科書には載っているが、実務ではいまだに「え、これだけでいいの?」という甘い実装をして踏み抜くエンジニアが後を絶たない。

—

なぜ javascript: スキームは危険なのか?

攻撃者は、タグのhref属性や、