我想知道Null字节注入是否仍然是PHP7中的问题?
如果在PHP7中可以利用空字节注入,那么如何防止它?
谢谢。
答案 0 :(得分:1)
我不确定是否所有相关功能都已在PHP 7中修复。
file_exists has been fixed for sure。
在任何情况下,您都可以通过不盲目接受用户数据而是事先对其进行验证来阻止它:
<?php
$file = $_GET['file'];
// Whitelisting possible values
switch ($file) {
case 'main':
case 'foo':
case 'bar':
include '/home/wwwrun/include/'.$file.'.php';
break;
default:
include '/home/wwwrun/include/main.php';
}
?>
有关更多信息,请参见http://www.php.net/manual/en/security.filesystem.nullbytes.php