先に、「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/726ec16fc41f76fa4010fa593f56b3b0bf459399/height=288;version=1;width=512/https%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEjU23sgLUG6jEDkATIRvYFsaW4xR29eh3O0RDYFXWj8iA1u8jtw3Rj1u5hvDoV0KZxqE9BkoBPfRh0TRVnkYgXL2PmXt1_d1lHrVjLJRf7mdf22g6rmF-auvFGZXZNbsTMqbyPYTguQCw%2Fw1200-h630-p-k-no-nu%2Fdisp_errors_xss01.png)