[BSidesCF 2019]Mixer

Posted npfs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[BSidesCF 2019]Mixer相关的知识,希望对你有一定的参考价值。

很秀的一道题,需要密码学的知识,学到了

第一步,登入,登入成功后提示要使is_admin?为1,所以我们要做的就是让其为1

技术图片

抓包,修改下cookie的user (这里为什么要修改cookie,也许题目最开始的那行小字就是提示吧。。Note: the "signature" and "rack.session" cookies are not part of the challenge!)

扩展:这里需要了解一下分组密码工作模式

本题主要是CBC加密

技术图片

我们通过修改user,将一组16进制对调,可以发现报错,多尝试几次,可以推测出解码为

{"first_name":"admin","last_name":"admin","is_admin":0}

所以我们需要的就是构造

{"first_name":"admin","last_name":"admin","is_admin":1}

这里需要知道CBC一般是16字节为一个块

我们只要构造:

{"first_name":"A
1.00000000000000
","last_name":"x
xxx","is_admin":
0}
一共5组

然后将第2组移到第5组之前,即

{"first_name":"A1.00000000000000","last_name":"paww","is_admin":1.000000000000000}

而 1.000000000000000 == 1 ,即可成功绕过admin登入

技术图片

抓包

技术图片

这里的user为

74ba95cdeaef9e38fdd0543be7873714ede75aa3f199aec8b4cfdee00084b153713bc8a476f7029e75a30074d7ad2414e95d4866feba88df47630671eb7806b43c8bf4d5fa9ff12561cdd044cf52941c

因为CBC是16字节为一组,转为16进制就是32个字符为一块,所以第二块就是

[32:64]

所以写个脚本即可

技术图片

将变换后的cookie替换user的值即可得到flag

技术图片

以上是关于[BSidesCF 2019]Mixer的主要内容,如果未能解决你的问题,请参考以下文章

[BSidesCF 2020]Had a bad day

BUU-WEB-[BSidesCF 2020]Had a bad day

SDL_Mixer 无法处理部分代码

四 Mixer

Visual Studio 2012-2019的130多个jQuery代码片段。

数学上相同的变量 - 一个破坏着色器而不是