クロスサイトスクリプティングとは?ざっくりと3行で
- Webサイトの入力欄などに悪意のある命令文(スクリプト)を埋め込み、訪問者のブラウザ上で罠を作動させる攻撃手口のことだよ!
- ユーザーの情報を盗んだり、偽のページへ誘導したりするために利用されるんだ。
- これに対策することで、ユーザーの個人情報やセッション情報の漏洩を防ぎ、サイトの安全性を確保できるよ。

【深掘り】これだけ知ってればOK!
Webアプリケーションには、掲示板や検索フォームのように、ユーザーが入力した文字をそのまま画面に表示する機能があります。ここに悪意あるスクリプト(プログラムの一種)が紛れ込むと、そのページを見た第三者のブラウザ上で、意図しない動作が実行されてしまうのです。
攻撃者はこの仕組みを悪用し、クッキー(Cookie)などの重要な情報を盗み出そうと画策します。結果として、正規のユーザーがなりすましの被害に遭ったり、フィッシング詐欺のサイトへ勝手に転送されたりするリスクが生じるでしょう。
会話での使われ方

今回の脆弱性診断で、検索窓にXSS(クロスサイトスクリプティング)の脆弱性が見つかりました。




リリース判定会議ですが、XSS対策のエスケープ処理が漏れている箇所があったため、修正完了まで延期します。




ユーザー投稿機能を作るなら、まずはXSSへの対策をしっかり設計に入れておいてね。
【まとめ】3つのポイント
- 掲示板に貼られた「爆弾付きの張り紙」:見ただけで勝手に爆発(実行)して被害を与える罠のようなもの
- 入力値を無害化するフィルター:特殊な記号をただの文字に変換し、命令として機能させない処理が重要
- 信頼と資産を守る防波堤:対策を怠ると顧客情報の流出事故に繋がり、賠償問題や信用失墜を招くリスクがある
よくある質問
- Qクロスサイトスクリプティングはいつ対策するのがベストですか?
- AWebサイトやアプリの開発段階(設計・実装時)から対策を組み込むのがベストです。リリース後の修正はコストがかかります。
- Qクロスサイトスクリプティングを失敗させない(防ぐ)コツはありますか?
- Aユーザーからの入力値を画面に表示する際、必ず適切なエスケープ処理を行うことと、WAF(Web Application Firewall)を導入して攻撃を検知・遮断することです。
- Qクロスサイトスクリプティングの具体例は何ですか?
- A掲示板に
<script>alert('ウイルス感染!')</script>と書き込み、閲覧者に偽のアラートを表示させるケースや、セッションIDを盗むスクリプトを埋め込むケースなどがあります。
- QクロスサイトスクリプティングとSQLインジェクションとの違いは何ですか?
- Aクロスサイトスクリプティングはユーザー(ブラウザ)を標的にしますが、SQLインジェクションはデータベース(サーバー)を直接攻撃してデータを盗む点が異なります。



コメント