忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【セキュリティ】閲覧者のブラウザを操る!「クロスサイトスクリプティング」|情報処理問題1000本ノック

Webサイトの脆弱性を突き、正規の利用者のブラウザ上で悪意のあるスクリプトを実行させる攻撃手法。その仕組みと対策を攻略しましょう。

1. 問題:Webアプリケーションの脆弱性

【 問題 】 Webアプリケーションの脆弱性を利用し、サイトの訪問者のブラウザ上で意図しないJavaScriptなどのスクリプトを実行させる攻撃手法はどれでしょうか?

ア、クロスサイトスクリプティング(XSS)   イ、SQLインジェクション   ウ、コマンドインジェクション   エ、セッションハイジャック

2. 正解:Webセキュリティに関する正解

正解: ア、クロスサイトスクリプティング(XSS)

3. 解説:罠を仕掛けて「他人のブラウザ」で実行

XSSは、Webサイトへの入力内容をそのまま画面に表示してしまう不備を突く攻撃です。

【図解:クロスサイトスクリプティングの仕組み】

■ 攻撃の流れ
1. 攻撃者が、掲示板などの入力欄に悪意のあるスクリプト(例:<script>...</script>)を書き込みます。
2. 脆弱なサイトは、そのスクリプトを「データ」ではなく「プログラムの一部」として保存・表示してしまいます。
3. 一般の閲覧者がそのページを開くと、閲覧者のブラウザ上でそのスクリプトが自動的に実行されます。

■ 被害の例
・Cookie情報(セッションID)が盗まれ、なりすましが行われる。
・偽の入力フォームを表示させ、パスワードを盗み出す(フィッシング)。
[ 他の選択肢との違い ]
SQLインジェクション:データベース(DB)を不正に操作する。
コマンドインジェクション:OSのコマンドを不正に実行させる。
セッションハイジャック:通信中のセッションIDを奪って本人になりすます。

1. 理解のコツ: サイトそのものを壊すのではなく、サイトを「罠の設置場所」として利用し、サイトを見に来た一般ユーザーを攻撃するのがXSSの特徴です。
2. 試験対策の視点: 「ブラウザ上でスクリプトを実行」というフレーズがあればXSSです。対策として「サニタイジング(無害化)」や「エスケープ処理(<&lt; に変換するなど)」という用語もセットで覚えましょう。


4. まとめ

「Webアプリケーションの脆弱性を突き、意図しないスクリプトを実行させる」。これがクロスサイトスクリプティング(XSS)です。ユーザーの個人情報を守るために、開発者が最も警戒すべき脆弱性の一つです。


PR