安洵杯-ezjs

本来躺在实验室摆烂的,但是突然学妹来问,就想着做一做,细看以为很简单,结果牵涉到我没学过的知识点,问了下安逸师傅,写个总结。

给了个登录框

图片

随便输入admin,admin然后返回了点东西

图片

我以为按照注释思路走,把secret的值求出来,然后一步一步按照注释改cookie就可以了。其实不然,这里主要是涉及到哈希扩展攻击。

不过这里先开始讲解题

复制注释,我们可以搜到这道题的出题灵感

https://www.shuzhiduo.com/A/x9J2QOEWz6/

很明显题目只是进行了删减了,只留下最重要的哈希扩展这一部分

回到题目

图片

给了我们secret的长度,secret+flag的md5值,以及data的值(也就是flag),满足这三点信息要求,那么就是明显的hash长度扩展攻击。我们就能构造出secret+data+其他值的md5,就能绕过这道题的验证。

具体原理移步这里:https://www.cnblogs.com/p00mj/p/6288337.html

如果要进行构造,那我们可以下载hashpump进行

用法如下:

图片

然后传burp获得flag路径

图片

访问就是flag

图片

哈希扩展攻击原理和hashpump的安装可以参考这篇文章

https://www.cnblogs.com/pcat/p/5478509.html