在PATH环境中拥有本地目录是不安全的?

时间:2017-11-24 18:17:27

标签: windows shell security unix path

在实验室里,我的教授写道:

  

出于安全原因,本地目录'。'不是[在Unix上]的PATH环境变量的一部分(在Windows上它是,但是!)。

实验的其余部分与此问题无关,并专注于多线程程序,但这条线路让我感到困惑 - 我不知道这是如何不安全或如何在Windows系统上利用它。

为什么PATH中的本地目录可能不安全,这可能导致什么样的攻击?

1 个答案:

答案 0 :(得分:3)

为了证明这个弱点, 考虑.PATH中的第一个条目时的极端情况。 如果恶意目录包含执行的名为lscd的脚本, 让我们说,rm -fr ~,你会有一个不愉快的惊喜。 这些脚本将被执行而不是标准命令, 因为首先会找到当前目录中的文件。

.PATH中的最后一个条目时,让我们采取乐观的极端情况。 那更好,但仍然不是那么好。 PATH的想法是拥有绝对路径的条目, 故意选择哪些目录包含可安全运行的程序。

. PATHprog代替./prog而不是_blank - URL is loaded into a new window. This is default _parent - URL is loaded into the parent frame _self - URL replaces the current page _top - URL replaces any framesets that may be loaded name - The name of the window (Note: the name does not specify the title of the new window) 。 但这种微小的便利并不值得破坏你的安全。