撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。
-
(1)远程下载数据库文件
-
这种拖库方式的利用主要是由于管理员缺乏安全意识,在做数据库备份或是为了方便数据转移,将数据库文件直接放到了Web目录下,而web目录是没有权限控制的,任何人都可以访问的;还有就是网站使用了一些开源程序,没有修改默认的数据库;其实黑客每天都会利用扫描工具对各大网站进行疯狂的扫描,如果你的备份的文件名落在黑客的字典里,就很容易被扫描到,从而被黑客下载到本地。
-
(2)利用web应用漏洞
-
随着开源项目的成熟发展,各种web开源应用,开源开发框架的出现,很多初创的公司为了减少开发成本,都会直接引入了那些开源的应用,但却并不会关心其后续的安全性,而黑客们在知道目标代码后,却会对其进行深入的分析和研究,当高危的零日漏洞发现时,这些网站就会遭到拖库的危险。
-
(3)利用web服务器漏洞
-
Web安全实际上是Web应用和Web服务器安全的结合体;而Web服务器的安全则是由Web容器和系统安全两部分组成,系统安全通常会通过外加防火墙和屏蔽对外服务端口进行处理,但Web容器却是必须对外开放,因此如果Web容器爆出漏洞的时候,网站也会遭到拖库的危险。
-
社工方面大概有如下几种:
-
(1)水坑攻击
-
黑客会利用软件或系统漏洞,在特定的网站上进行挂马,如果网站管理员在维护系统的时候不小心访问到这些网站,在没有打补丁的前提下,就会被植入木马,也会引发后续的拖库风险。
-
(2)邮件钓鱼
-
黑客会利用一些免杀的木马,并将其和一些管理员感兴趣的信息绑定,然后通过邮件发送给管理员,而当网站管理员下载运行后,也会导致服务器植入木马,引发后续的拖库风险。
-
(3)社工管理员
-
对目标网站的管理员进行社会工程学手段,获取到一些敏感后台的用户名和密码。从而引发的后续拖库。
-
(4)XSS劫持
-
有时黑客也会为了获取某一些网站的帐号信息,他们会利用网站钓鱼的手段去欺骗用户主动输入,但这种方式只能获取部分帐号的真实信息,并没有入侵服务器。
四,黑客怎样解密得到的数据:
通常情况下,数据库中的个人信息如,邮箱 电话 真实姓名 性别 等都是明文存储的。而密码通常经过MD5加密之后存储。黑客可以很轻易地把他需要的且是明文存储的数据从数据库中剥离出来。而MD5加密之后的数据这需要一定的解密流程才能看到明文。通常解密MD5的方法有,暴力破解,字典破解和彩虹表。
(1)暴力破解
暴力破解这是一种"时间消耗型"的破解方法,确定了密文的加密方式的前提下,使用相同的加密算法,计算
M = H(P)
P为所有的明文空间
H为加密算法
M为密文
然后将计算得到的M和待破解的密文进行比较,如果匹配成功,则对应的明文P即为待破解密文的明文。值得注意的是,这个枚举P和比较M的过程往往是在内存中进行的,也即在计算的过程中一边产生,一边比较,这次破解结束后,下一次破解又要重新开始从头枚举,效率不太高。
(2)字典破解
字典破解本质上还是"暴力破解"的一种,在字典破解中,攻击者是对所有的明文(M)进行预计算,将所有的明文的HASH都事先计算好,并保存起来。典型的MD5字典如下:
-
....
-
password 5f4dcc3b5aa765d61d8327deb882cf99
-
admin 21232f297a57a5a743894a0e4a801fc3
-
cnblog efbc3548e65e7225dcf43d3918d94e6f
-
....
在进行破解的时候,破解程序将字典映射Mapping到内存中,然后将HASH和待破解的密文进行逐条比较(这点和暴力破解是一样的),直到找到某条HASH和待破解的密文相同为止。
值得注意的是,基于字典的暴力破解时间上比单纯的内存计算型暴力破解更有效率,只要一次的"字典生成"花费一定的时间,后续的多次破解都可以重复使用这个字典。
注意,这里说的"字典"指的对应某个算法的字典: MD5 Directory、SHA1 Directory、NTLM Directory等等。
总的来说,字典攻击是对单纯的内存型暴力破解的一个改进,它引入了预处理的思想,但缺点也很明显,需要占用及其庞大的磁盘空间,以至于对于长度16以上的密码字典,完整存储根本不可能。
(3)彩虹表
这是对暴力破解和字典破解的一种折中的破解技术,在2003年瑞典的Philippe Oechslin 在Making a Faster Cryptanalytic Time-Memory Trade-Off一文中首次被提出,它有效的利用了预处理的优点,同时又克服了字典破解消耗太大磁盘空间的缺点,在这两者中找到了一个平衡点。(具体实现技术请读者自行百度)
-