实验吧web-让我进去

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

进去后看到一个表单

实验吧web-让我进去_第1张图片

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

实验吧web-让我进去_第2张图片

想要获得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,然后我们修改一下程序,

实验吧web-让我进去_第3张图片

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

实验吧web-让我进去_第4张图片

getflag


the end

你可能感兴趣的:(实验吧web-让我进去)