漏洞原理:
在解析php文件时,1.php\x0A这种格式的文件将会被认为php文件解析,进而可以绕过一些服务器的安全策略。
漏洞版本:
2.4.0~2.4.29
漏洞复现:
复现该漏洞是利用docker复现的,搭建好环境后,会发现页面一片空白
查看该漏洞源码后,发现并没有前段,需要自己写一个:
<html>
<head><meta charset="utf-8"></head>
<body> <form action="index.php" method="POST" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="name" id="name"><br>
<input type="submit" name="submit" value="提交">
</form> </body>
</html>
然后上传文件抓包:
查看docker中的源码我们可以看到是不允许php,php3,php4,php5等文件后缀名的文件上传的
如果这里想要直接上传文件名为1.php\x0A的文件,那么结果也是不成功的,因为$_FILES['file']会直接过滤掉\xoA,我们可以上传文件1.php,然后抓包
点击发送,可以看到成功上传