3

これは私のコードです

$file = $_GET['file'];
include "$file.html";

次のような URL を渡す test.php?file=sample.php%00と、null バイトが挿入されるため、ファイル sample.php が含まれる必要があります。しかし、代わりにエラーが発生します: Failed opening 'sample.php' for inclusion.

ファイルパスを確認し、絶対パスを指定しようとしました。

Windows で PHP バージョン 5.3.8 を使用しています。ここで私が見逃しているのは何ですか?ありがとう

4

2 に答える 2

5

null バイト文字列の脆弱性は5.3.4で修正されました。そのため、5.3.8 では動作しません。

于 2013-10-23T22:09:06.690 に答える
1

有効にしましたかmagic_quotes_gpc?この設定は、nullバイトをエスケープするため、全員のリアエンドを保存していました(この設定は5.4以降削除されています)。

于 2012-12-07T15:59:24.653 に答える