EasyLogin

解题过程:注册的时候尝试注册admin,未果推测有admin账号,登录后果然是没有权限,想到的考点无非就是Cookie越权,看了一下aok参数有eyxxxxx的字符串,很像jwt的格式,拖去解码:

并不能说完全像吧......直接修改username之后又弹出去了,推测应该还是有session校验,于是尝试登录抓包,找到了提交的字符串,但是最后修改了验证没通过。

最后才知道要看app.js的

controllers/api.js

学到了jwt加密生成方式,即jwt伪造。

关键代码在这里:

直接把加密方式改为none,重新加密,分别编码

成功后请求api/flag拿flag。

Last updated