# [BSidesCF-2019]Mixer
主页,有一些提示
It looks like you aren't admin, though! Better work on that! Remember, is_admin must bet set to 1 (integer)! And you can safely ignore the rack.session cookie. Like actually. But that other cookie, however....
这就说明可能不是 session 加密解密了,得用密码学的东西来解释一下了
登录抓包后发现有了一个 user 的 session,肯定不是 jwt,也不会是 flask 的 session,密码的话有两个大类的分组密码,一个是加密后的密文参与下一组的明文加密,一个是直接加密的,分组的密文互不影响,这个 user 很可能是密码加密的,我可以直接修改一点值,将头三个字符换成 123
发现存在有正常的回显,那就是互不影响的密码加密(ECB 加密)
ECB 加密是 16 位一组,并且每组互相独立,加密后每组为 32 位。又因为在 JSON 中 1.0 = 1,所以如果替换成这样:
第一个块
{“first_name”:”A
第二个块
1.00000000000000
第三个块
“,”last_name”:”1
第四个块
231″,”is_admin”:
第五个块
0}
将第二块加到第四块后面就行了
s='227f846a99b58fab1ba58859ca38e4af78ba38397fd14ba8a08e18b5cb318e22989561536b419cd4053214349996364eab0cfaf489d5309500bf83df1de3b2f4c2980bfa0bbac594d039877e4d4c14db' | |
res = s[:128] + s[32:64] + s[128:] | |
print(res) |
参考链接:https://blog.csdn.net/weixin_44037296/article/details/112370510
https://www.shawroot.cc/874.html