概要
本文主要记录[极客大挑战 2019]Secret File解题过程以及相关思路
解题过程
1.打开题目链接,乍一看没有看到可疑的地方,打开开发者工具查看网页源代码,发现网页中有一个<a>标签,目标链接为./Archive_room.php点击跳转
2.进入到Archive_room.php页面,发现SECRET带下划线(直觉告诉我是超链接),查看源代码,同样是<a>标签,链接地址为./action.php,点击跳转
3.发现跳转后到达了end.php,查看开发者工具中的网络,发现action.php进行了重定向,这时我就好奇中间发生了什么,打开bp抓包
4.抓包发现action.php里面含有html的注释,并给出一个新的php文件
5. 直接访问得到的secr3t.php,可以看到需要传输一个file参数,并且提示代码放在了flag.php里,尝试提交flag.php给file参数
6. 提示找到了,却看不见,应该想到php代码是无法在前端直接显示的(即flag应该是被包含在<?php ?>内),那么此时就可以使用php伪协议读取php代码
playload:file=php://filter/convert.base64-encode/resource=flag.php
7.得到一串base64编码,使用在线解码网站进行解码,解码后就可以看见flag了
相关知识点
-
php://filter
通俗来讲,当我们遇到php文件包含的时候,可以考虑使用php://filter来读取php的代码 -
302重定向
可以猜测action.php的代码应该如下
小结
题目还是简单的,主要还是细心 + 耐心 + 好奇心,加油!