middle_source
这题关键解法也很脑洞,感觉国赛的题目都要去扫目录的一堆非常规的敏感文件.....
题目源码:
<?php
highlight_file(__FILE__);
echo "your flag is in some file in /etc ";
$fielf=$_POST["field"];
$cf="/tmp/app_auth/cfile/".$_POST['cf'];
if(file_exists($cf)){
include $cf;
echo $$field;
exit;
}
else{
echo "";
exit;
}
?>比较诡异的是读进来的$fielf变量没用,反而用了$field变量,不经让人怀疑是不是出题人写错了orz,客服后面又没回,虽然最后我们还是凹出来了,但是还是很不爽
需要扫描目录扫到.listing文件,该文件由APT创建,用于管理应用程序的高级打包工具,可以看到文件列表。
然后发现有个文件叫you_can_seeeeeeee_me.php,可以拿到phpinfo,发现了session.save_path,这玩意被出题人改成了不规则字母,有很明显的手动添加痕迹。
然后就利用SESSION_UPLOAD_PROGRESS上传文件,它的cleanup和enabled都是on,所以需要条件竞争。
disable_function限制了禁止上传shell,但是scandir之类的函数还能用,所以直接扫到flag目录,在用题目的文件包含就出了。
Last updated