先に、「CVE-2008-5814を巡る冒険」にて、CVE-2008-5814脆弱性があるとdisplay_errorsがOnの環境下でXSS脆弱性となる場合があることを説明しました。しかし、display_errorsがOnの環境下ではCVE-2008-5814脆弱性がなくても、XSS脆弱性となる場合がしばしばあります。 これは、display_errorsによるエラーメッセージ表示がHTMLエスケープされていないことが原因です。簡単なサンプルを以下に示します。 <?php ini_set('display_errors', 1); // display_errorsを有効にする $a = array(); // 配列の生成 $index = $_GET['x']; // 配列のインデックスを得る $b = $a[$index]; // 配列の要素にアクセス このスクリプトに、x=<sc
![PHPのdisplay_errorsが有効だとカジュアルにXSS脆弱性が入り込む](https://cdn-ak-scissors.b.st-hatena.com/image/square/7257cc8cb1be3cfc6953186ed85768c2922aaf79/height=288;version=1;width=512/https%3A%2F%2F3.bp.blogspot.com%2F-Jv0jIQFJsoY%2FUVxEcanJ5jI%2FAAAAAAAAFmA%2FlOL8sP2yh_A%2Fw1200-h630-p-k-no-nu%2Fdisp_errors_xss01.png)