小编Efu*_*veo的帖子

上载表单中的空字节注入

我正在尝试在上传表单上重现Null Byte Injection攻击.我有这个代码:

<?php
if(substr($_FILES['file']['name'], -3) != "php") { 
  if(move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']))
    echo '<b>File uploaded</b>';
  else
    echo '<b>Can not upload</b>';
}
else
  echo '<b>This is not a valid file/b>';
?>
Run Code Online (Sandbox Code Playgroud)

我正在尝试上传一个名为this:file.php%00jpg的文件,因此它将绕过substr()并将作为file.php上传,因为move_uploaded_file()应该停止在空字节(%00).

问题是上传的文件在服务器上没有命名为file.php而是file.php%00jpg(可以通过在url栏中输入/file.php%2500jpg来访问).
似乎move_uploaded_file()不关心空字节,那么这是如何工作的呢?是否可以使用我的代码上传扩展名为.php的文件?

谢谢 :).

php forms security exploit

7
推荐指数
1
解决办法
8484
查看次数

标签 统计

exploit ×1

forms ×1

php ×1

security ×1