1.源码查看网页信息
启动靶机,点开网址
主页面啥也没有,习惯性的查看源代码
可以看到这里有个./Archive room.php入口,点入
源代码没啥有用信息,点击secret,
也没啥有用信息,但是通过查看初始页面的源代码,./Archive room.php文件是存在flag的(源代码里的oh!You found me),用bp拦截./Archive room.php页面点击SECRET后的数据包,以下思路灵感来源于一位大佬的博客。
2.BurpSuite拦截数据包
可以看到secr3t.php这里被注释掉了,这就是要找的SCRECT,访问该文件
3.php代码审计和url构造
代码审计,看到exit(),知道这是考察文件包含漏洞,要访问flag.php文件
这里考察php文件的一个特性,即
在文件内容为代码时会执行代码并且不会显示在页面上,如果是非代码则会显示在页面上
则我们需要构造url,使用filter伪协议构造url将flag.php文件的内容进行转换,使其能显示在页面上,再将内容再进行一次转换得到代码内容,构造url为
/secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php
convert.base64-encode即转换过滤器,将flag.php文件的内容进行base64加密。
显示的页面得到加密后的flag.php文件内容,将其放入在线解密工具进行base64解密,得到flag
flag{6c741c53-2356-4d4c-8ee1-a2a90bc8c256}