漏洞原理: 在解析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,然后抓包 点击发送,可以看到成功上传
|