本实验的学习目地是让学生理解环境变量如何对程序和系统产生影响。环境变量是一组动态的命名值,可以影响计算机上进程的行为。自 1979 年被引入 Unix 系统以来,环境变量被大多数操作系统使用。尽管环境变量会影响程序行为,但许多程序员对其工作原理并不熟悉。因此,如果一个程序使用了环境变量,但程序员对此并不了解,那么该程序可能存在漏洞。
在本实验中,学生将学习环境变量的工作原理、它们如何从父进程传入到子进程,以及它们如何影响系统/程序的行为。我们尤其关注环境变量如何影响 setuid 程序的行为,这些程序通常是特权程序。