MD5碰撞与撞库和题

article/2025/9/27 6:49:48

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博客_撞库icon-default.png?t=M276https://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

( 这两个文件打不开)


http://chatgpt.dhexx.cn/article/uHDtbQMy.shtml

相关文章

拖库 洗库 撞库的概念

一,背景: 用户数据泄露一直是如今互联网世界的一个焦点,从最近的京东撞库抹黑事件,到之前的CSDN,如家用户数据的泄露,服务商和黑客之间在用户数据这个舞台上一直在进行着旷日持久的攻防战。 对于大多数用…

(云安全)拖库-洗库-撞库

一,背景: 用户数据泄露一直是如今互联网世界的一个焦点,从最近的京东撞库抹黑事件,到之前的CSDN,如家用户数据的泄露,服务商和黑客之间在用户数据这个舞台上一直在进行着旷日持久的攻防战。 对于大多数用户…

java解决撞库的问题_Web安全开发之验证码设计不当引发的撞库问题

感谢某电商平台安全工程师feiyu跟我一起讨论这个漏洞的修复。以往在安全测试的过程中后台经常存在验证码不失效果造成的撞库问题,甚至在一些银行或者电商的登录与查存页面同样存在这个问题,一旦造成撞库无论对用户账号的安全性还是网站的负载都是巨大的挑…

什么是撞库攻击,如何预防撞库攻击?

1. 撞库的原理和危害 “撞库”(Credential Stuffing Attack)在网络安全中是一个古老的概念,按中文的字面意思解读,就是“碰撞数据库”的意思。“碰撞”意味着碰运气,即不一定能成功;而“数据库”中往往存储…

撞库详解

撞库攻击是如今最常见的攻击,给企业带来巨大威胁。撞库带来的威胁往往不是直接的,但是由此造成的信息泄露以及进一步的渗透与攻击会更为严重。Akamai的报告显示,2018年五月到十二月期间,共发生了约280亿次撞库攻击,其中…

mysql暴力撞库与弱密码检测

暴力撞库与弱密码检测 最近在生产数据库上碰到了一个问题,觉得挺有意思,总结出来和大家分享下。 关于暴力撞库和弱密码检测。 相信使用数据库的大家应该都不陌生,暴力撞库,简单通俗的讲通过一堆生成的密码,然后用默认…

倾家荡产、隐私全无?独家揭秘撞库攻击!

1. 撞库的原理和危害 “撞库”(Credential Stuffing Attack)在网络安全中是一个古老的概念,按中文的字面意思解读,就是“碰撞数据库”的意思。“碰撞”意味着碰运气,即不一定能成功;而“数据库”中往往存储…

撞库是什么

撞库(Credential Stuffing)是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登录其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过…

什么是撞库及撞库攻击的基本原理

6月26日晚,我国大型聊天软件QQ出现了大规模盗号情况,而且是在QQ号本人在线时出现了被盗情况。 6月27日中午,腾讯QQ发布声明称:6月26日晚上10点左右,收到部分用户反馈QQ号码被盗。QQ安全团队高度重视并立即展开调查&am…

企业微信如何关联小程序?

我们在日常使用微信时,经常会用到小程序功能,直接从微信中打开第三方页面,很是方便,那么自从企业微信与微信打通之后,我们该如何将小程序与企业微信联系起来使用呢? 其实,在企业微信中&#xf…

企业微信登录报错:应用程序无法正常启动(0xc0000142);Win10应用程序无法正常启动0xc0000142错误的解决方法

企业微信登录报错,有时候要点击多次才能登陆。 解决办法:创建一个文本,把下面一段复制进去,文本后缀改成.bat,启动运行一下即可。 sc stop NSFFileCtl sc config NSFFileCtl start disabled pause 如下图&#xff1a…

企业微信小程序从开发调试到发布的全流程

企业微信小程序和普通微信小程序两者的关系 可以理解为企业微信小程序就是把普通小程序丢进了企业微信这个app里运行,企业微信小程序的发布依赖普通微信,需要先按照普通微信的发布流程进行发布,再去企业微信平台进行绑定小程序到工作台。 企…

什么是企业应用?

看到“企业应用“这次术语, 在你的下意识里,第一反应能想起哪些相关的词? 我的条件反射是: ERP, CRM, HRM, BI, CMS ...... 企业应用这个词听起来很高大上, 但是什么“企业应用”? 我发现我没法下一个准…

微信小程序个人和企业有什么不一样(个人和企业小程序的区别)

很多朋友在注册微信小程序时不知道微信小程序个人和企业有什么不一样。本文就为大家介绍一下个人小程序和企业小程序的区别。 1、注册流程不一样。在微信公众平台注册的小程序因为个人,小程序注册主体是个人用户所以他的注册流程比较简单,只需要个人身份…

企业软件开发流程

企业开发软件的流程 前言开发一个项目经历的流程(步骤)一、软件项目周期1、软件项目周期的几个阶段 总结 前言 本文记录开发一个项目的流程 开发一个项目经历的流程(步骤) 一、软件项目周期 1、软件项目周期的几个阶段 压缩成7…

四种java企业级应用程序的架构

1、传统三层架构(all in one项目) 传统三层架构大致可以分为表现层,业务层和持久层(数据访问层)。其中表现层负责接受请求和转发请求。业务层负责处理请求(注:事务管理,日志记录等AOP类型的操作均封装在这…

企业网站源码PHP附企业小程序源码

时间不会为任何人停留,企业网站开发也不例外。随着时代的变化,趋势也在不断变化,品牌的数字化形象现在比以往任何时候都更加重要。重点已转向移动;但是,网站开发同样重要。      企业网站源码技术选型      演…

企业应用程序单点登录

企业每天都依赖于各种企业应用程序,包括云和本地应用程序。这意味着用户必须经常输入更多密码才能访问这些应用程序并完成他们的工作。为了提高用户的工作效率、减少密码疲劳并使身份管理更有效,您的组织需要部署高效的 SSO 解决方案。 AD360 提供企业 …

公司企业小程序怎么开发自己的小程序

随着移动互联网的快速发展,小程序已经成为企业展示自身产品和服务的重要渠道。那么公司企业小程序怎么开发自己的小程序呢?本文将为大家详细介绍小程序开发的步骤。 第一步:明确需求 开发小程序前,需要先明确自己的需求。是想要…

企业微信本地开发小程序。

1. 我们在开发的时候,第一步需要点击应用去企业微信里面拿取code调用登录接口传给后端,后端返回一个agenId给前端。但是我们需要本地调试,一个前端如果不能通过F12进行调试模式是看不到接口报错信息和不方便页面布局调试的。 2. 开始尝试复制…