要約 / 元記事を読む ↗
- XSSは、攻撃者が作った悪意あるスクリプトを他の利用者のブラウザで実行させる攻撃である。スクリプトはウェブページを動かす小さなプログラムで、原文によると、悪意あるリンクを開いたり汚染されたページを見たりするだけで、そのサイトの権限で動作することがあるという。
- 原文はXSSを反射型、格納型、DOM型に分けている。反射型と格納型は、サーバーが危険なHTMLを作って返す場合である。DOM型は、サーバーは正常なHTMLだけを送り、ブラウザのスクリプトがURLの値を画面に入れるときに生じるため、サーバー側のエスケープでは防ぎにくいとされている。
- 基本的な防御は、利用者の入力をinnerHTMLではなくtextContentで入れ、文字としてだけ表示することである。原文はsetHTML()などのSanitizer APIも紹介しており、web.devの資料を根拠に、Firefoxは148(2026年2月)から、ChromeとEdgeは146から使えるが、Safariは未対応と書いている。
- HttpOnlyのCookieは、スクリプトがCookieを読めないようにし、セッション情報の盗難を減らす。ただし、スクリプトの実行そのものは防げない。CSPは許可されていないスクリプトの実行を制限するが、外部サービスとの連携設定が面倒で、画面が崩れやすいというトレードオフがあると原文は述べている。
掲載元Qiita ↗ / 掲載記事