Computer Security课堂笔记

lbr :此程序已弃置不用。lbr的作用是打印文件,它的工作方式是在文件夹下生成随机文件名的image文件,向其中写入数据,然后打印它。该程序具有SUID权限。由于计算机的随机算法都是伪随机,当进行了大量打印之后,文件名有很大概率会重复。所以,我们可以预测将要出现的文件名,建立一个同名的,指向重要系统文件的符号链接,这样该系统文件中的内容将会被覆盖。

 

LD_LIBRARY_PATH LD_PRELOAD :都是用来影响动态链接库的环境变量,由于修改此变量后将可以覆盖库函数,never use it。在SUID程序中这2个变量自动禁用

 

system调用 :Use execXX instead. system调用的机制是启动一个shell,然后将参数传递给shell。参数并非只能是一条指令。说白了,用户可以在参数里面随便乱写。  而exec调用限定了后面的参数只能作为某个程序的参数,而不能是另外的程序。

 

sendmail :心惊胆寒啊,我在公司里实习的时候亲手写过sendmail程序。sendmail的漏洞是,对于本地邮件文件,程序会检查其owner,发现其owner不是邮件所有人之后就会强制改变其owner,所以攻击者只要偷偷放一个与邮件文件同名的suid程序到目录下,然后发一封邮件,程序就变成对方的了

 

chsh :chsh会往passwd文件中写入信息,如果你在输入中加入换行,就可以覆盖passwd文件中的重要信息。现在chsh会检查输入,所以此漏洞已经修复