字典式及规避方案

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 字典式及规避方案

不过我也有被逼急的时候,我一个excel文件的加密密码忘记了,是个六位全数字密码。我想打开这个文件,没有办法我分析了下可以用全枚举攻击强力破解它。我马上使用vb写了一个破解程序,虽然vb运行速度比vc慢几十倍,但是省事,做的快。我破解时发现,当全枚举6位全数字密码时,程序跑飞,跑了一个小时没有结果。我就试5位密码结果几十秒就尝试完毕。看来6位密码破解受到计算机cpu等硬件和操作系统限制,难以实现。我就换一种想法,把六位全数字密码(10的6次方六位密码)分成10个密码本,一次破解一个密码本的秘密。破解10次就全部枚举完毕了,也要不了十几分钟,若运气好破解几千个就试出来了。终于这个文件的秘密被我采用字典式尝试出来了。可以看到被人得到文件多危险,那怕你对文件设置了简单密码。用银行卡的密码没有输入次数限制,知道用户名,破解密码也就十多分钟的事情,甚至优化后只需要几分钟。若你的密码是数字和大小写字母的混合(不包括标点符号),若密码长度达到32位,那是32的62次方个密码,理论上这种密码是没有破解的可能。但是这种原始方案的缺点也很显然,那就是这种密码太复杂太长,用户记不住,其次有被别人截获密码的可能,毕竟现在密码也需要在网上传输的。所以就产生了加密协议。加密协议的作用就是,用户如何一个简单密码,进行加密后就变成32位,64位,128位等密码了,然后在网上传输就安全多了,一般这种加密密码和时间戳也正相关。你截获了也用处不大,就是你把时间参数传递过去了,服务器也和本地时间比对的,超过3分钟他们就认为是非法消息,它是不断变化的,破解很困难。很多网站都有输入次数限制,所以对很多网站的密码破解都集中在加密算法上,很少进行字典式攻击了,当然黑客找到网站的漏洞,绕过次数限制,也会进行字典式轰炸。

以前我在做曹操专车时,遇到一个离奇的事情。一个用户买了优惠券,使用时提示优惠券已经被使用过。但是用户刚刮开涂层,怎么就不能用了呢?原来优惠券是4位纯数字,发放的优惠券比较多,有用户买了优惠券使用了后,输入相连的号码,竟然有很大概率就能试出来有用的优惠券号码,并且客户端没有尝试次数的限制。这个就是现实的字典式攻击的例子。4位全数字密码也就9999个密码,他有多危险知道了吧!

md5是编码算法,别把它当成很高级的加密算法。网上就有字典式破解md5编码的网站,密码长不一定安全,那要看你的编码算法怎么样,最好对密码验证次数进行限时间段限制,时间正相关,风控管理(同一用户或同一ip进行短期大批量操作监控),密码设置为6位及以上数字和字母混合,那样能大大减少被破解的可能性。不过我也有被逼急的时候,我一个excel文件的加密密码忘记了,是个六位全数字密码。我想打开这个文件,没有办法我分析了下可以用全枚举攻击强力破解它。我马上使用vb写个破解程序,虽然vb运行速度比vc慢几十倍,但是省事,做的快。我破解时发现,当6位全数字密码程序跑飞,跑了一个小时没有结果。我就试5位密码结果几分钟就尝试完毕。看来6位密码破解受到计算机cpu等硬件和操作系统限制,难以实现。我就还一种想法,把六位全数字密码(10的6次方减1个六位密码)分成10个密码本,一次破解一个密码本的本。破解10次就全部尝试完毕了,也要不了十几分钟。终于这个文件被我攻破了。可以看到被人得到文件多危险。用银行卡的密码没有输入次数限制,知道用户名,破解密码也就十多分钟的事情,甚至优化后只需要几分钟。若你的密码是数字和大小写字母的混合(不包括标点符号),若密码长度达到32位,那是32的62次方减1个密码,理论上这种密码是没有破解的可能。但是这种原始方案的缺点也很显然,那就是这种密码太复杂太长,用户记不住,其次有被别人截获密码的可能,毕竟现在密码也需要在网上传输的。所以就产生了加密协议。加密协议的作用就是,用户如何一个简单密码,进行加密后就变成32位,64位,128位等密码了,然后在网上传输就安全多了,一般这种加密密码和时间戳也正相关。你截获了也用处不大,就是你把时间参数传递过去了,服务器也和本地时间比对的,超过3分钟他们就认为是非法消息,它是不断变化的,破解很困难。很多网站都有输入次数限制,所以对很多网站的密码破解都集中在加密算法上,很少进行字典式攻击了,当然黑客找到网站的漏洞,绕过次数限制,也会进行字典式轰炸。

以前我在做曹操专车时,遇到一个离奇的事情。一个用户买了优惠券,使用时提示优惠券已经被使用过。但是用户刚刮开涂层,怎么就不能用了呢?原来优惠券是4位纯数字,发放的优惠券比较多,有用户买了优惠券使用了后,输入相连的号码,竟然有很大概率就能试出来有用的优惠券号码,并且客户端没有尝试次数的限制。这个就是现实的字典式攻击的例子。4位全数字密码也就9999个密码,他有多危险知道了吧!

md5是编码算法,别把它当成很高级的加密算法。网上就有字典式破解md5编码的网站,密码长不一定安全,那要看你的编码算法怎么样,最好对密码验证次数进行限时间段限制,时间正相关,风控管理(同一用户或同一ip进行短期大批量操作监控),密码设置为6位及以上数字和字母混合,那样能大大减少被破解的可能性。不过我也有被逼急的时候,我一个excel文件的加密密码忘记了,是个六位全数字密码。我想打开这个文件,没有办法我分析了下可以用全枚举攻击强力破解它。我马上使用vb写个破解程序,虽然vb运行速度比vc慢几十倍,但是省事,做的快。我破解时发现,当6位全数字密码程序跑飞,跑了一个小时没有结果。我就试5位密码结果几分钟就尝试完毕。看来6位密码破解受到计算机cpu等硬件和操作系统限制,难以实现。我就还一种想法,把六位全数字密码(10的6次方减1个六位密码)分成10个密码本,一次破解一个密码本的本。破解10次就全部尝试完毕了,也要不了十几分钟。终于这个文件被我攻破了。可以看到被人得到文件多危险。用银行卡的密码没有输入次数限制,知道用户名,破解密码也就十多分钟的事情,甚至优化后只需要几分钟。若你的密码是数字和大小写字母的混合(不包括标点符号),若密码长度达到32位,那是32的62次方减1个密码,理论上这种密码是没有破解的可能。但是这种原始方案的缺点也很显然,那就是这种密码太复杂太长,用户记不住,其次有被别人截获密码的可能,毕竟现在密码也需要在网上传输的。所以就产生了加密协议。加密协议的作用就是,用户如何一个简单密码,进行加密后就变成32位,64位,128位等密码了,然后在网上传输就安全多了,一般这种加密密码和时间戳也正相关。你截获了也用处不大,就是你把时间参数传递过去了,服务器也和本地时间比对的,超过3分钟他们就认为是非法消息,它是不断变化的,破解很困难。很多网站都有输入次数限制,所以对很多网站的密码破解都集中在加密算法上,很少进行字典式攻击了,当然黑客找到网站的漏洞,绕过次数限制,也会进行字典式轰炸。

以前我在做曹操专车时,遇到一个离奇的事情。一个用户买了优惠券,使用时提示优惠券已经被使用过。但是用户刚刮开涂层,怎么就不能用了呢?原来优惠券是4位纯数字,发放的优惠券比较多,有用户买了优惠券使用了后,输入相连的号码,竟然有很大概率就能试出来有用的优惠券号码,并且客户端没有尝试次数的限制。这个就是现实的字典式攻击的例子。4位全数字密码也就9999个密码,他有多危险知道了吧!

md5是编码算法,别把它当成很高级的加密算法。网上就有字典式破解md5编码的网站,密码长不一定安全,那要看你的编码算法怎么样,最好对密码验证次数进行限时间段限制,时间正相关,风控管理(同一用户或同一ip进行短期大批量操作监控),密码设置为6位及以上数字和字母混合,那样能大大减少被破解的可能性。


目录
相关文章
|
4月前
|
存储 安全 生物认证
强密码策略之减少字典攻击风险
【8月更文挑战第14天】
89 2
|
2月前
|
监控 安全 算法
线程死循环确实是多线程编程中的一个常见问题,在编码阶段规避潜在风险
【10月更文挑战第12天】线程死循环确实是多线程编程中的一个常见问题,在编码阶段规避潜在风险
68 2
|
2月前
|
自然语言处理 算法 Unix
【数据安全】敏感字过滤方案总结
【数据安全】敏感字过滤方案总结
54 1
|
2月前
|
存储 缓存 索引
字典是怎么扩容的?它会经历哪些过程?
字典是怎么扩容的?它会经历哪些过程?
62 3
|
4月前
|
SQL 安全 关系型数据库
一切都是为了安全!数据脱敏的 几种方案
一切都是为了安全!数据脱敏的 几种方案
57 0
|
5月前
|
安全 Java 运维
开发与运维内存问题之动态对象年龄判定的意义如何解决
开发与运维内存问题之动态对象年龄判定的意义如何解决
33 0
|
搜索推荐 UED SEO
如何知道自己网站是否存在着过度优化?这几种措施帮助你查找出来
近些年,越来越多的企业开始重视SEO优化工作,认为这是改善企业网站落后面貌的重要途径。当然对于其他的各种类型网站,同样离不开SEO优化。做网站SEO优化的目的除了能够提升网站在百度中的排名之外,还有一个重要的作用就是能够增强网站的品牌度,能够为用户提供更好的服务。
|
7月前
|
数据采集 SQL 监控
分析重复数据通常涉及以下步骤,以确保对重复项的来源和性质有深入理解
【4月更文挑战第2天】分析重复数据通常涉及以下步骤,以确保对重复项的来源和性质有深入理解
79 1
|
JavaScript 安全 前端开发
修改MD5值:降低iOS应用程序关联性判定,减少拒绝风险
ios应用程序存储一些图片,资源,配置信息,甚至敏感数据如用户信息、证书、私钥等。这些数据怎么保护呢?可以使用iOS提供的Keychain来保护敏感数据,也可以使用加密技术,或者使用Ipa Guard 来弱化文件名称含义,增加破解难度。实现保护iOS app应用程序不被反编译、破解或篡改。