BugkuCTF(flag.php)
登录界面如图所示:
点开发现login根本没用,抓包发现是get请求POST请求要比get安全,大部分涉密数据都用POST请求,如下图:
既然是get请求了,常见套路就是传递参数,正好有提示hint,构造URL如图,获取源码
阅读代码发现,如果get参数为hint,给你展示源码,否则反序列化的$cookie=$KEY
时给你flag,再否则还是那个登录页面,仔细看你就会发现下边的$KEY
的值是迷惑你的,卵用没得,上边代码中的$KEY
地值应该是默认的空字符串$KEY=''
,即unserialize($cookie)=‘’
即可输出flag,先序列化''
,再反序列化就还等于''
,如图
重点就是这句代码$cookie = $_COOKIE['ISecer'];
看的我一脸懵逼,参考$_GET['']
用法后恍然大悟,点击查看,大致意思是$_COOKIE
用来搜集表单中COOKIE的值,并且ISecer
会成为表单中域的名称作为键值存在,就是反序列化其实是反的参数ISecer的值,直接上图
最终传递的COOKIE是ISecer=s:0:"";
并且不能再加上hint=0(if判断语句),获取flag,也可以直接抓包修改cookie获取flag。
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。