能力值:
( LV2,RANK:10 )
|
-
-
2 楼
在Unix下,密码的散列值是这样得到的:
Crypt(password , "XX") = "XXq2wKiyI43A20";在不知道password的情况下,只能用所有可键入字符进行全排列组合的办法来猜,目标就是让你所凑出的password字符串的函数散列值正好是"XXq2wKiyI43A20",这种方式就是传说中的"暴力攻击"。Crypt()使用DES单向散列算法,在以前的Unix标准C函数库中有,在Linux系统下没有研究过。之所以用这种方式来认证,说明是经得起考验的。
如果遇到的密码长度在8个字符以内,那么,恭喜你,数小时内就可以见分晓;否则,一旦超过10个字符,就没有那么幸运了,以目前的机器运算速度,所需要的攻击时间将数以年计,劝你还是知难而退吧!
正是因为用户密码存在这种可以被攻破的可能性,所以,有些系统把用户密码散列值从所有用户都能访问的"/etc/passwd"文件中移出,专门增设只有超级用户才能访问的"/etc/shadow"文件来保存用户密码的散列值,目的就是为了防止用户密码受到暴力攻击,使系统安全受到威胁,现在已经不多见的Sun Solaris操作系统就是这样的。
既然这个用户是你通过入侵的方式建立的,那么,要用这个用户很简单,把用户密码散列值清成空串,再回写"/etc/passwd",这样,你再登录就不需要密码了。为了掩人耳目,登录后,再通过正常手续把密码加上就可以了。
|
|
|