XSS脆弱性のあるPHPコード簡易サンプル

検証時に検証担当者に「XSSもチェックお願いしますね。」というと「???」という返答が帰ってきましたので、簡単なプログラムを作ってその検証担当者に教えました。 その際に使った簡単なコードサンプルです。

<html>
<body>
    <form action="" method="post" accept-charset="utf-8">
        <input type="text" name="xss_text" value="">
        <p><input type="submit" value="submit"></p>
    </form>
    value: <?php echo $_POST['xss_text']; ?>
</body>
</html>

見た目はテキストボックスの内容をそのまま出力するだけの簡単なPHPプログラム。

しかし、ここに下記の文字列を入れてみます。

<script>alert('XSS');</script>

見事にスクリプトが実行されました。

このデータがDBに登録されていて、それを上サンプルのように出力させていると考えると、、、ゾッとしますね。

 

XSSの具体的な対策方法や詳細については下記をご参照ください。

http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html#XSS