06/12/09 17:08:35
何をhackしたいのかによって必要な知識が全く変わってくる。
このようなフォームがあったとする。
aho.html
------------------------------
<form action="URLリンク(aho.com)
<p>
名前:<input type="text" id="userName" name="userName" />
<input type="submit" />
</p>
</form>
------------------------------
このフォームが受け取ったデータを処理するサーバサイドスクリプトは以下である。
aho.php
------------------------------
<?php
echo $_GET['userName'];
?>
------------------------------
テキストフィールドに名前などの文字列を入力すると、入力データの確認をユーザーに求めるため、
サーバスクリプトが入力内容を表示するという処理はよく行われる。
------------------------------
<script>alert(navigator.userAgent)</script>
------------------------------
サーバサイドスクリプトは、入力された文字列をそのまま出力しているだけなので、
ブラウザにJavaScriptのコードがそのまま渡され、実行されてしまう。