空字节注入仍在PHP7中吗?

时间:2018-08-17 21:46:56

标签: php web web-applications penetration-testing

我想知道Null字节注入是否仍然是PHP7中的问题?

如果在PHP7中可以利用空字节注入,那么如何防止它?

谢谢。

1 个答案:

答案 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