XSS(クロスサイトスクリプティング)
Cross-Site Scripting
悪意のあるプログラムを他人のブラウザで実行させる攻撃
簡単に説明すると
XSSは、Webサイトの入力フォームなどを悪用して、他人のブラウザで勝手にプログラムを動かす攻撃のことだよ。 例えば、掲示板に悪意のあるスクリプトを書き込み、そのページを開いた人のブラウザでセッション情報を盗むプログラムを実行させたりするんだ。 悪意のあるコードが、信頼されているサイトの一部として動いてしまうのがこの攻撃の大きな特徴だね。
名前のヒミツ
XSS(えっくすえすえす)は、Cross-Site Scripting(クロスサイトスクリプティング)の略なんだ。 もともとは、あるWebサイトの情報を別のサイト、つまり「サイトをまたいで(Cross-Site)」盗み出すために、スクリプトと呼ばれるプログラムを送り込む手法からこの名前がついたんだよ。
くわしく見てみよう!
XSSとは、Webサイトにセキュリティ上の弱点がある場合、攻撃者が用意した不正なスクリプトを閲覧者のブラウザ上で実行させる攻撃手法のことだよ。
悪意のあるプログラムが、まるでそのWebサイトの一部であるかのように動作してしまうんだ。
ざっくり言うと、攻撃者が仕掛けた「罠」をユーザーが踏むことで被害が出る仕組みなんだよ。
例えば、検索ボックスやコメント欄に、文字の代わりにプログラムのコードを書き込む手法が一般的だね。
そのサイトを訪れた人のブラウザがコードを読み取ると、勝手に別のサイトへ誘導されたり、Cookieなどのセッション情報や入力した内容が盗まれたりすることもあるんだ。
Webサイトを作る側は、ユーザーから入力された文字を無害化する対策が必要だよ。
記号を普通の文字として扱うように設定しておかないと、ブラウザがそれをプログラムの命令だと勘違いしてしまうからなんだ。
利用者としては、不審なリンクをむやみにクリックしないことや、ブラウザを常に最新の状態に保つことが対策になるよ。