[极客大挑战 2019]Secret File--详细解析
信息搜集
进入界面。黑底红字,有点恐怖。
查看源代码看看有什么信息:
找到一个/Archive_room.php
页面,访问:
如果直接点这个按钮的话,会回显这样的界面:
找错地方了,退回/Archive_room.php
页面,查看源代码:
发现/action.php
,访问,发现还是跳转到了end.php
界面。
怀疑是重定向,所有我们访问/action.php
并抓包看看:
果然是302重定向,我们访问重定向页面里给的这个地址:
有include函数,应该是文件包含漏洞方面的考察。
信息搜集结束。
文件包含
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。
strstr是大小写敏感的。
stristr是大小写不敏感的。
也就是我们上传的参数字符串中不能有 ../
tp
input
data
这几个子串。
也就是我们不能使用data伪协议、input伪协议和通过相对路径直接查找flag文件。
所以我们选择php://filter伪协议。
file=php://filter/convert.base64-encode/resource=<目标文件名>
这种方法得到的是base64编码后的文件内容,我们找个网站解码一下:
得到flag.
总结
信息搜集是Web安全的基本功,当找不到目标网页的时候,多抓包看看,会有收获。
原文地址:https://blog.csdn.net/m0_56019217/article/details/143823714
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!