以前の記事「PHPのdisplay_errorsが有効だとカジュアルにXSS脆弱性が入り込む」では、php.ini等でdisplay_errorsを有効にしていると、スクリプトに脆弱性がなくてもXSS(クロスサイトスクリプティング)脆弱性が入り込む可能性が高いことを指摘しました。 しかし、display_errorを無効にしていても、エラー処理がまずいと、エラー表示が原因でXSS脆弱性が入り込む場合があります。ネット上のサンプルスクリプトを見ても、潜在的にXSS脆弱性があるものが多くあります。 サンプルスクリプト まずは、典型的な脆弱性の例をスクリプトで紹介します。PHP+PDO+PostgreSQLの組み合わせです。 <?php try { $db = new PDO("pgsql:host=localhost options='--client_encoding=UTF8';dbnam
![エラーメッセージによるXSSにご用心](https://cdn-ak-scissors.b.st-hatena.com/image/square/b15f8aff88be61afc28cdd4a17bfdf08cc2374ac/height=288;version=1;width=512/https%3A%2F%2F3.bp.blogspot.com%2F-T8XqvlL4ww0%2FVTzPbAOYaDI%2FAAAAAAAAMOg%2FB4djR0FNHhk%2Fw1200-h630-p-k-no-nu%2Fpdo-error.png)