动易SiteFactory等产品5.8版本的升级程序如何在1秒内检测出“使用简单密码的管理员账户”?

作者:动易软件 来源:本站原创 点击数: 发布时间:2017年09月14日

在升级到动易SiteFactory等产品5.8版本的过程中,我们对升级程序进行了改进,可以在非常短的时间里快速识别出“使用简单密码的管理员账号”,不是说系统密码都加密不可逆的吗?那么为什么升级程序可以在1秒内检测出使用了简单密码的管理员账号呢?

 

大家可能对如何实现这个找到简单密码的原理不了解,以为我们系统中保存是密码明文,这里和大家科普一下。

 

首先,大家要明确一点,我们保存在数据库中的密码绝对是加密过的,并且用的是不可逆的加密算法,也就是说,我们是无法从密码的加密结果反向解密出密码原文的。

 

那么,大家肯定奇怪,系统是如何知道哪个人的密码是什么呢?黑客又是如何猜解到我的密码的呢?

 

告诉大家,系统只有在你的密码是简单的常用密码时才知道你的密码。如果你的密码足够复杂,系统是不知道的。其实我们用的就是和黑客用来猜解密码一样的思路,那就是撞库!我们找了一个有10万个常见密码的密码库,对其中的每个密码进行加密处理后得到一个含有10万常用密码的字典(里面的每个密码明文和密码密文一一对应),然后我们针对数据库中每个管理员的密码,只要查其密码的密文是否在这10万个密码当中就可以了。如果找到,我就可以知道密码明文。黑客就是这样进行撞库攻击的。只不过黑客用的常用密码字典里的密码不是10万而是可能有几百万甚至几千万个。

 

我得到了某个密码的密文,然后从这样大一个库中找到一个这个密码对应的原文,需要多长时间呢?告诉你,你都可能不会相信!把字典转成数据库后,用数据库查询方式,从1千万行记录中找到某条记录,用时会不到1秒!