HashPump的使用

HashPump

-------HashPump用于hash扩展攻击。

相关信息介绍

hash长度拓展攻击,概括一下就是由于hash的生成机制使得我们可以人为的在原先的明文基础上添加新的拓展字符,从而使得原本的加密链变长,进一步控制加密链的最后一节,使得我们得以控制最终的结果。
这里简单介绍一下hash算法。

hash算法又叫做散列算法。是一种把任意长度的字符串加密为固定长度的字符串的加密算法,该算法生成的密文就是散列值。简单说hash算法就是一种通过单向函数加密明文生成信息摘要的算法。
现在常用的has算法有MD5和SHA-1。这里就以MD5算法为例,解释一下hash长度扩展攻击。
要去利用MD5算法解释该攻击方式,那就要先去了解一下MD5的加密过程

工具下载地址:https://github.com/shellfeel/hash-ext-attack

应用场景

当情景中出现md5(secert_key+str),其中secert_key的值我们不知道,但长度知道(不知道的话可以枚举)。str是明文也知道。如果我们知道md5(secert_key+str)str为某一个值时候的md5值是多少,那么通过hash扩展攻击我们可以知道md5(secert_key+str_)str_为任意字符串时候的md5值。

具体操作

找到 hash-ext-attack-master 工具

python hash_ext_attack.py  #运行脚本

已知明文:str

已知hash:md5(secert_key+str)

扩展字符:str_

密钥长度:len(secert_key)

返回的新明文:newstr

返回的新hash:newhash

md5(secert_key+newstr)==newhash

posted @ 2025-02-27 17:03  ZHAOXU333  阅读(167)  评论(0)    收藏  举报