MD5碰撞与撞库和题
MD5 相同的情况叫做“碰撞”,现在网络中已经出现了两个相同的 MD5 可执行文件,所以MD5现在已经被弃用了,发生碰撞的概率是1/(2^128)。
SHA-1 也会发生碰撞,但是几率比 MD5 小的多。
2004年,我国中科院院士王小云证实md5算法无法防止碰撞,因此,不适用于安全性认证。在2005年,王小云院士提出了md5哈希碰撞,公式如下
f(f(s, M), M') = f(f(s, N), N')
因为她的研究成果表明了给定消息 M1
,能够计算获取 M2
,使得 M2
产生的散列值与 M1
产生的散列值相同,即:
MD5(M1)=MD5(M2)
于是MD5不满足抗碰撞性,于是不再是安全的散列算法
例:
字符串1
4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
af bf a2 00 a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
93 d8 49 67 6d a0 d1 55 5d 83 60 fb 5f 07 fe a2
字符串2
4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
af bf a2 02 a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
93 d8 49 67 6d a0 d1 d5 5d 83 60 fb 5f 07 fe a2
上方两个字符串的 MD5 值完全相同。
常见MD5碰撞
md5值为0e开头
0e830400451993494058024219903391 s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e848240448830537924465865611904 s214587387a 0e848240448830537924465865611904 s878926199a 0e545993274517709034328855841020 s1091221200a 0e940624217856561557816327384675 s1885207154a 0e509367213418206700842008763514 s1502113478a 0e861580163291561247404381396064 s1885207154a 0e509367213418206700842008763514 s1836677006a 0e481036490867661113260034900752 s155964671a 0e342768416822451524974117254469 s1184209335a 0e072485820392773389523109082030 s1665632922a 0e731198061491163073197128363787 s1502113478a 0e861580163291561247404381396064 s1836677006a 0e481036490867661113260034900752 s1091221200a 0e940624217856561557816327384675 s155964671a 0e342768416822451524974117254469 s1502113478a 0e861580163291561247404381396064 s155964671a 0e342768416822451524974117254469 s1665632922a 0e731198061491163073197128363787 s155964671a 0e342768416822451524974117254469 s1091221200a 0e940624217856561557816327384675 s1836677006a 0e481036490867661113260034900752 s1885207154a 0e509367213418206700842008763514 s532378020a 0e220463095855511507588041205815 s878926199a 0e545993274517709034328855841020 s1091221200a 0e940624217856561557816327384675 s214587387a 0e848240448830537924465865611904 s1502113478a 0e861580163291561247404381396064 s1091221200a 0e940624217856561557816327384675 s1665632922a 0e731198061491163073197128363787 s1885207154a 0e509367213418206700842008763514 s1836677006a 0e481036490867661113260034900752 s1665632922a 0e731198061491163073197128363787 s878926199a 0e545993274517709034328855841020
例题:buuctf 还原大师
代码
import hashlib
k = 'TASC?O3RJMV?WDJKX?ZM' #要还原的明文
for i in range(26):temp1 = k.replace('?',str(chr(65+i)),1)for j in range(26):temp2 = temp1.replace('?',chr(65+j),1)for n in range(26):temp3 = temp2.replace('?',chr(65+n),1)s = hashlib.md5(temp3.encode('utf8')).hexdigest().upper()#注意大小写if s[:4] == 'E903': #检查元素print ('flag{' + s + '}') #输出密文
MD5撞库
md5在理论上是几乎无法破解的,但是可以撞库。
撞库的前提,固定的字符串其对应的MD5值是一定的
撞库攻击也就是黑客通过收集互联网已泄露的用户+密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登陆的用户,这样一旦用户为了省事,在多个网站设置了同样的用户名和密码的话,黑客很容易就会通过字典中已有的信息,登录到这些网站,从而获得用户的相关信息,如:手机号码、身份证号码、家庭住址,支付宝及网银信息等。这些信息泄露后,不仅会给用户和精神和经济带来巨大损失,同时也会给相关网站带来负面影响。
————————————————
版权声明:本文为CSDN博主「法海老方丈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44437000/article/details/97677657
常见的撞库方法:
原文链接:常见的三种撞库方法_网易数帆社区博客-CSDN博客_撞库https://blog.csdn.net/wangyiyungw/article/details/84584163
异性相吸
异性相吸,会想到要进行异或操作,所以,要将这两个文件转化成二进制才能能进行异或
将这两个文件拖入16进制编辑器中,转换成二进制,
得到二进制数据之后进行异或操作就可以
a='0000011100011111000000000000001100001000000001000001001001010101000000110001000001010100010110000100101101011100010110000100101001010110010100110100010001010010000000110100010000000010010110000100011000000110010101000100011100000101010101100100011101010111010001000001001001011101010010100001010000011011'
b='0110000101110011011000010110010001110011011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011100010111011101100101011100110111000101100110'
c=''
for i in range(len(a)):if(a[i]==b[i]):c+='0'else:c+='1'
print(c)
结果是
0110011001101100011000010110011101111011011001010110000100110001011000100110001100110000001110010011100000111000001110010011100100110010001100100011011100110110011000100011011101100110001110010011010101100010001101010011010001100001001101110011010000110011001101010110010100111000001110010110010101111101
然后再将其转化成字符串
用16进制编辑器新建一个文本文件,复制二进制数据,粘贴到(从二进制文本粘贴),即可得到flag
flag{ea1bc0988992276b7f95b54a7435e89e}
RSAROLL
在date文件中,有好几组数据,第一个花括号中有两个数,第一个数比较长,猜测应该是n,后面较小应该是e,用在线分解网址,将n分解成p和q
然后将下面所有的数据都当成密文,解出明文
import gmpy2N, p, q, e = 920139713, 18443, 49891, 19
d = gmpy2.invert(e, (p - 1) * (q - 1))
result = []
with open("C:\\Users\\惠普\\Desktop\\buuctf 29题\\RsaRoll\\data.txt", "r") as f:for line in f.readlines():line = line.strip('\n') # 去掉列表中每一个元素的换行符result.append(chr(pow(int(line), d, N)))
flag = ''
for i in result:flag += i
print(flag)
print(result)
RSA
( 这两个文件打不开)
MD5碰撞与撞库和题相关推荐
- 深入浅出了解撞库攻击!
1. 撞库的原理和危害 "撞库"(Credential Stuffing Attack)在网络安全中是一个古老的概念,按中文的字面意思解读,就是"碰撞数据库"的 ...
- 撞库:2017年的大麻烦
本文讲的是 撞库:2017年的大麻烦,每拥有100万的失窃凭证,黑客们可以使用Sentry MBA等类似工具大规模入侵目标网站上的账户.而根据Shape Security发布的2017凭证泄露报告,2 ...
- 撞库攻击:一场需要用户参与的持久战
一,背景: 用户数据泄露一直是如今互联网世界的一个焦点,从最近的京东撞库抹黑事件,到之前的CSDN,如家用户数据的泄露,服务商和黑客之间在用户数据这个舞台上一直在进行着旷日持久的攻防战. 对于大多数用 ...
- 使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
文章目录: 1 hashlib介绍 2 hashlib模块使用 2.1 查看hashlib中有哪些hash算法 2.2 对字符串进行加密 2.3 对于数据比较大,加密可以分块,结果一样 2.4 has ...
- Question | 网站被黑客扫描撞库该怎么应对防范?
本文来自网易云社区 在安全领域向来是先知道如何攻,其次才是防.针对题主的问题,在介绍如何防范网站被黑客扫描撞库之前,先简单介绍一下什么是撞库. 撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对于 ...
- 撞库***:一场需要用户参与的持久战
一,背景: 用户数据泄露一直是如今互联网世界的一个焦点,从最近的京东撞库抹黑事件,到之前的CSDN,如家用户数据的泄露,服务商和***之间在用户数据这个舞台上一直在进行着旷日持久的***战. 对于大多 ...
- Hash的简介与hashlib模块的使用、模拟撞库与密码加盐
什么是Hash呢? hash(哈希)是一类算法(如md5),hash算法又称为散列表(hash table),也叫做哈希表,该算法接受传入的内容,经过运算得到一串hash值(字符串) hash值的特点 ...
- HCIP H12-221 题库 71-120题 讲解
HCIP H12-221 题库 71-120题 讲解 71.Agreate命令(aggregateipy4-address{mask|mask-length}[as-set|attribute-pol ...
- 猿人学题库第一题——无混淆js加密
猿人学题库第一题--无混淆js加密 1. 首先 进入 浏览器的开发者工具, 进入后直接 查看请求,可以找到 一个 json?page=1&count=14 的网址,查看response 就是 ...
最新文章
- 网络推广——企业新站还得是专业网络推广公司来维护!
- 简历中该怎么写自己了解html,我用HTML写简历
- AR:Unity与iOS交互(入门篇)
- 中文乱码之myEclipse项目导入时中文乱码(待)
- 深入浅出Python——Python高级语法之文件操作
- python word 公式转png图片处理方式
- 苹果开发者账号添加受信任电话号
- ES 索引mapping之keyword;term查询添加keyword查询;更改mapping keyword类型
- [最新] Android 代码规范大全(Android开发速看)
- 车牌号正则校验(新能源)
- 我和计算机专业的故事
- python实现Apriori算法
- 美通社企业新闻汇总 | 2019.1.9 | 直销巨头雅芳出售广州工厂,美团合作海外公司发展无人配送...
- k8s探针检测php,K8s探针
- IDEA创建Maven工程Servlet
- java+js实现展示本地文件夹下的所有图片demo
- 面向对象重写理解 求值策略 -共享对象调用 面向对象原则
- 【Android】更改程序图标
- java计算机毕业设计物联网实验课程考勤网站源码+lw文档+系统+数据库
- leetcode 买卖股票系列题目总结