keyborad

クロスサイトスクリプティング攻撃



クロスサイトスクリプティング(cross site scripting)攻撃についての注意。

クロスサイトスクリプティング

クロスサイトスクリプティングは誰にでも簡単に出来てしまう攻撃で、意図せず一般ユーザが攻撃してしまうこともあります。

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

Webサイトの訪問者の入力をそのまま画面に表示する掲示板などのプログラムが、悪意のあるコードを訪問者のブラウザに送ってしまう脆弱性のこと。

攻撃方法

掲示板システム等に対して、下記のコードの入力を行う。
<script>
alert("クロスサイトスクリプティング成功!");
</script>

対策がなされていないシステムは入力されたコードを実行してしまい、アラートダイアログが出力されます。
これは一例ですが、悪意のあるコードになりますとスクリプトによって他サイトに誘導したり、Cookieの情報を抜き取ったりなど様々なことを行いますので要注意です。

対策

入力値をHTMLの形式にする、もしくは出力値をHTML形式にすれば対策は可能です。

PHPでの対策

入力された文字列に対して以下のコードを使って出力すればOKです。
echo htmlspecialchars('文字列');

※本当はエスケープの種類やエンコードの指定も出来ますがここでは割愛させて頂きます。
こうすることによって特殊文字がHTML上で表記される形になりタグ等は使用できなくなります。


コメントを残す