题目简述

用浏览器访问,发现是这样,结合题目给的附件,应该是要发送json数据来得到flag:

思路过程

查看附件,发现给出了/register,/login,/flag等地址,判断是要我们注册用户,登录后用get请求得到flag,使用postman发送json数据,方便快捷。先试了一下附件给出的账号,注册发现用户已存在,而且登录密码也不正确,所以需要自己注册一个用户:



注册和登录都返回ok,但是获取flag时返回了一个假flag,并提示我们不是admin,根据题目cookie,判断问题出在cookie上,查看cookie发现有一个token,内容如下:

token=eyJ1c2VybmFtZSI6ICJodXN0bGVyIiwgInBhc3N3b3JkIjogIjEyMzQ1NiIsICJyb2xlIjogInVzZXIifQ==

看着末尾的两个大等号,说明这有可能时base64,进行base64解码后的数据是这样的:

{"username": "hustler", "password": "123456", "role": "user"}

显然,我们将role的值改为admin,即:

{"username": "hustler", "password": "123456", "role": "admin"}

再将这串数据用base64编码,得到修改后的token

获得flag

用postman修改cookie,并且get请求/flag后得到flag:

踩坑总结

1.刚开始做的时候以为是给cookie增加新的键值对,没有注意token是base64编码过后的。

⬆︎TOP