クロスサイトスクリプティングの脅威とは

他人のWebサイトへの代表的な攻撃手段として悪意のあるスクリプトを埋め込むという「クロスサイトスクリプティング(以下、XSS)」が挙げられます。

XSSの前提条件として「Webサイト上に入力フォームがある」ということです。
そしてこのフォームに「JavaScript」で書かれたプログラムや悪意のある「HTMLタグ」を埋め込みます。
攻撃者は主に以下の2点を目的としていることが多いです。
・訪問者のクッキー情報を抜き取るスクリプトを埋め込むことによる「セッションハイジャック」
・偽の入力フォームを埋め込んで個人情報を窃取する。

セッションハイジャック

クッキー(cookie)とは、一度訪問したWebサイトの情報などを保存し、次からのアクセスが高速になるような仕組みです。ただ、高速でのアクセスを追求するためにログインが必要なWebサイトの場合、そのログイン情報が保存されている場合があります。
入力フォームには「次回から自動的にログインする」というチェックボックスが付いていることがありますが、これがcookieに情報を保存するということになります。
攻撃者の目的は、このcookieに保存されているログイン情報やクレジットカードの情報です。 入力フォームに攻撃者のWebサイトへ送信するような「JavaScript」を埋め込むことでcookie情報を抜き取ります。

偽の入力フォーム

正規の入力フォームにHTMLタグを埋め込み、偽の入力フォームを作成し、直接個人情報を抜き取る方法です。
ユーザは正規のWebサイトを訪問して必要な情報を入力していると思っているので、そのフォームが本物か否かを逐一確認することは少ないでしょう。
そうした認識の穴を狙っての攻撃手段といえます。

上記のことから入力フォームや投稿フォームなど、外部の人間が入力した情報をシステムに取り込む仕組みにおいて、JavaScriptやHTML内に対策用のタグで対応できる状態にしておく必要がありますし、自社のサイトが不正に改ざんされていないかどうか、定期的に確認する体制と社内共有も必要となります。
XSSではユーザがその脅威を回避することは非常に困難です。そのため、この脅威を避けるためには入力フォームを作成した企業がその対策を万全に行う必要があります。
ログイン情報やクレジット情報など何度も入力する情報を保存させておく仕組みは利便性という点においては非常にユーザフレンドリーではありますが、抜き取られる危険性があることをきちんと認識しておくことが重要です。

最新情報をチェックしよう!