昨天提到骇客暴力破解密码的方式,我们接着这个话题继续,最後来聊聊怎麽取一个好一些、实用一些的密码吧!
大家自己在输入密码登入时,应该都有注意到多数网站会限制输入密码错误的次数,那麽骇客要怎麽快速的尝试多组密码呢?
要在 3 次或 5 次之内试出密码,这样走正规的登入显然会被服务器挡住,既然要想方法和服务器周旋,那为何不直接以骇入服务器主机为目标呢?
对耶,这样做只要拿到主机权限,里面所有使用者的帐号密码就全部拿光光了!攻击的目标从众多的使用者被缩小成主机的管理者。但这样做的一个问题是,主机中储存的密码如果被 Hash 过後,骇客也没办法反推回去。
但没关系,有了这串乱码,骇客就没有测试的上限了!
*暴力测试密码是否符合 Hash Code
只要拿常见的密码测、拿字典里的单字测、把有可能的组合都测一测,就有机会攻破某个使用者的密码。
那麽密码被 Hash 之後就会是安全的吗?当然不是!
为了要验证密码是否是正确的,当你在登入时输入的密码会再被 Hash 一次,和储存的 Hash Code 来做比对,假如是同一组密码的话,经过 Hash 出来的结果自然就会匹配。
因此拿到所有 Hash Code 的骇客,就可以任意的尝试密码的组合,就像一般使用者登入一样,把要尝试的密码以同样的 Hash 函式跑过一遍,得到 Hash Code 再比对即可。
不过 Hash 过的密码,只要原本取的好,也不是不安全的。因为现在常用的 Hash 函式,例如 SHA256,都有一个特性:就是改了一个字元就会让整个输出结果完全不一样。
也就是说透过观察 Hash Code 几乎无法回推原始密码为何,纵然你手中握有类似的密码。例如 password122
和 password123
被 SHA1 这个 Hash 算法所运算出的结果,是 8dc32b0ebd38d5cc80b0aedb65dee2a96bbdfa76
以及 5eff8bb44b6170d4fd4e8636643c93ad68294982
,只差一个字元的密码,输出的结果却截然不同。
讲了这些密码如何被骇客所破解的技巧,就知道取一个好密码的重要性了!那麽一个难以破解的密码需要什麽条件呢?
好的,以上提了几点「较难以破解」密码的特徵,但现实上 呢,根本做不到吧!取了一个复杂到难以记忆的密码,下次不但输入慢,更可能会忘记密码。
由於怕忘记密码,可能有些人就把密码写在便条纸上贴在萤幕旁,这岂不是更本末导致了?
因此好记的密码也会是一个很重要的考量,以下几点供大家参考。
取个长一点的密码其实就很有效了,虽然不用字典中出现的字可以提高难度,但不方便记忆,用多一点的单字组合难度也不会太低,如:it's-a-really-long-password-la
这样的密码就不太容易重复到,并且比较容易记。
再来就是加入自己的规律,例如每 1, 2, 3, 5, 8, ... (Fibonacci number) 个字母大写,像是 IT's-a-ReallY-long-pAssword-la
等等,又或是在某个位置加入特殊符号。把这样的规律运用在每个网站,就不容易忘记了。
说到网站,用一组密码打天下显然不太好,但又要好记怎麽办呢?同样也是加入自己的规律,例如在 Google 注册,可以把 Google 的名称放在密码里,例如 googleit's-a-really-long-password-la
;若是在 Yahoo 就取 yahooit's-a-really-long-password-la
这样放在密码前的做法。
如此一来就可以用一组熟悉的密码,配上不同网站专属特性的规律组出不同的密码。除非刚好有两个网站同时被破解,还特地找出你的密码差异为何,不然安全性和实用性应该都是不错的。
想不出好密码的话,也还能用市面一些密码管理软件,例如 1Password、LastPass 等等都是不错的工具。
但在注重密码之外,其实我们更该注意的是资安意识。
往往密码泄漏出去不是透过上述的这些方法被硬找出来的,而可能是不小心点了钓鱼网站、在网站或 Email 中分享密码,甚至是写在便条纸上贴在明显的位置。
前言 今天简单实践了最基本的 IOCP http server , 原则上是用我第二天写的 one2...
SO Just Who The Hell Am I? 大家好! 首先先介绍一下我自己, 我是Mizo...
前言 相信很多人都会看到在滑动网站时,滑到一个地方就会出现动画,滑回去再滑回来又会再出现一次, 那这...
哈罗~ 昨天我们介绍了线上可用的情蒐工具, 今天再来介绍几个情蒐工具,请先安装Kali Linux或...
之前有介绍过在HTML中影像的插入及基本处理 这次的文章内容主要的内容会是使用CSS处理影像的部分 ...