首页
社区
课程
招聘
[旧帖] [求助][求助]Linux溢出写入/etc/passwd的问题 0.00雪花
发表于: 2011-5-18 15:17 1146

[旧帖] [求助][求助]Linux溢出写入/etc/passwd的问题 0.00雪花

2011-5-18 15:17
1146
大家好,我在Linux学习缓冲区溢出时向/etc/passwd文件写入了一个新用户myroot:XXq2wKiyI43A20:0:0:me:/root:bin/bash,密码域使用的是一个散列值XXq2wKiyI43A20,成功写入/etc/passwd后用su 切换到myroot时,提示密码,我敲了散列值但登录不了,请高手教教密码该用什么?谢谢

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 817
活跃值: (2068)
能力值: ( 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",这样,你再登录就不需要密码了。为了掩人耳目,登录后,再通过正常手续把密码加上就可以了。
2011-5-18 16:32
0
游客
登录 | 注册 方可回帖
返回
//