0

我的实验表说,如果 root 中的 $PATH 有一个尾随的“.”,攻击者很可能可以通过强制管理员以 root 身份执行某些恶意程序来获得超级用户访问权限。我完全不明白这一点!有人可以向我解释一下上面的句子是什么意思吗?以及如何删除“。”?

echo $PATH

/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ucb:.

这是在 Solaris 10 中。

4

1 回答 1

0

在您的 ~/.profile 文件中,或者在您的 ~/.bashrc 文件中(通过 ~/ 我的意思是您的主目录)

export PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ucb

现在您已经删除了尾随 .

顺便说一句: /usr/xpg4/bin 有更现代的命令版本,比如 awk - 你可能想把它放在 /usr/bin 之前的 PATH 变量中,除非你被指示保持 PATH 不变。

该声明所指的是:假设坏人损坏了一些可执行文件。一个存在于应用程序目录中。如果您 cd 到该目录,然后键入它将运行的坏文件的名称。你可能不知道它发生了。也许该文件会向世界各地发送大量电子邮件。或者在您的主​​目录中的某个其他可执行文件中放置一个蠕虫。你明白了。

于 2012-11-02T01:58:02.653 回答