记录一下Hash长度扩展攻击的几个题目

最近做了几个题目,又学到新的知识点,是有关Hash长度扩展攻击

参考了一波P牛的博客还有我们学校的博客:
http://www.cnblogs.com/pcat/p/5478509.html
http://www.bxsteam.xyz/2017/05/23/hash%e9%95%bf%e5%ba%a6%e6%89%a9%e5%b1%95%e6%94%bb%e5%87%bb/

正文

实验吧 让我进去

既然说是admin才能进去,那我就先抓个包,看一下包里面是否又要改的东西。。。。
发现有一个source=0,毫不犹豫把它改为1,
这里写图片描述
发包获得源代码

if (urldecode($username) === "admin" && urldecode($password) != "admin") {
        if ($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) {
            echo "Congratulations! You are a registered user.\n";
            die ("The flag is ". $flag);

看一下源代码发现这里有urldecode但是不会太影响,最最关键的应该是md5($secret . urldecode($username . $password))这个东西

记录一下Hash长度扩展攻击的几个题目_第1张图片

关键代码就这一部分而已,其余的什么setcookie都没啥用,再看看包里面的内容,发现这个点,谷歌搜一波发现P牛的解析
这里写图片描述
而后按照他的步骤安装了hashpump,最后把题目完成
先是新的签名,把它设置到cookiegetmein里。
第二个先把\x替换为%后,post提交

我最后发的包

POST /web/kzhan.php HTTP/1.1
Host: ctf5.shiyanbar.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://ctf5.shiyanbar.com/web/kzhan.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 227
Cookie: sample-hash=571580b26c65f306376d4f64e53cb5c7; source=1; Hm_lvt_34d6f7353ab0915a4c582e4516dffbc3=1520492842,1520518767,1520572017; Hm_cv_34d6f7353ab0915a4c582e4516dffbc3=1*visitor*132367%2CnickName%3A0verWatch; Hm_lpvt_34d6f7353ab0915a4c582e4516dffbc3=1520584378; PHPSESSID=qljr4nu3o68169kr8ejb2htp87;getmein=7db18a2831cdab27425f299ca09f034e;
Connection: close
Upgrade-Insecure-Requests: 1

username=admin&password=admin%2580%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%25c8%2500%2500%2500%2500%2500%2500%2500abc

cumt平台上的一道题目

is hash safe??

点进去发现要admin才能看,常规操作抓包,看里面有没有要改的,果不其然,把guest改为admin发现没啥用。。。。
记录一下Hash长度扩展攻击的几个题目_第2张图片

然后再看看页面源代码啥都没有,那应该就是源码泄露了,尝试.swp
发现泄露文件
放进kali里面用vim -r 命令复原源代码文件
得到源码
记录一下Hash长度扩展攻击的几个题目_第3张图片

跟那个实验吧的题目很相似,但又有不同,实验吧那一题是有两个字符串连接符,然后使其长度为20位,发现role是guest
于是我们来hashpump一波,根据提示密文长度为13,并且要绕过admin字符串,于是得到
记录一下Hash长度扩展攻击的几个题目_第4张图片
抓包发送,得到flag
记录一下Hash长度扩展攻击的几个题目_第5张图片

小结

怎么说呢,这几个题好像只考了工具怎么使用,但是一些必要的条件还是要自己找出来的,通过抓包之类的,还有一点点的代码审计,有些地方还是有些不懂,过段时间再继续完善一下自己的体会吧。。。。

你可能感兴趣的:(CTF,Web)