实验吧web-让我进去

题目地址:http://ctf5.shiyanbar.com/web/kzhan.php

进去后看到一个表单

查看源代码也没有什么东西,最后在cookie中看到了一个可疑的参数source,将它改为1后再次访问,看到页面源码

想要获得flag,需要满足几个条件:

1.urldecode($username) === "admin"

2.urldecode($password) != "admin"

3.$COOKIE["getmein"] === md5($secret . urldecode($username . $password))

其中$secret是长度为15的未知字符串,而条件1、2很好满足,条件3则需要进行哈希长度扩展攻击来满足

关于什么是哈希长度扩展攻击,怎么进行的可以看下面这个链接:

https://github.com/iagox86/hash_extender

这道题也可以用HashPump来完成,具体做法参考Pcat大佬:https://www.cnblogs.com/pcat/p/5478509.html

在cookie中可以看到sample-hash=571580b26c65f306376d4f64e53cb5c7,这是$secret跟两个admin连接后的字符串的哈希值,即md5(???????????????adminadmin),新字符串长度为25。

我们要提交的username必定为admin,也就是说,我们提交的getmein必须是$secret跟admin以及$password连接后的字符串的哈希值。

举个例子,我们提交password=admin%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%c8%00%00%00%00%00%00%00Aluvion,然后我们修改一下程序,

截断修改前一分块的哈希结果为571580b26c65f306376d4f64e53cb5c7,然后用其来加密我们自定义的数据,这里是Aluvion,编译运行,获得getmein应该提交的哈希值c042652ebf35b70de4124702ee10a8bf。

getflag


the end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容