BugkuCTF(flag.php)

N 人看过

登录界面如图所示:

在这里插入图片描述
点开发现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) 进行许可。