C:IFS系统()中的漏洞(C: IFS System() Vulnerabilit

2019-09-24 02:15发布

对于教育的原因,我不得不利用的C代码

所述PROGRAMM设置EGID第一,然后与该漏洞system("/usr/bin/..."); 命令。

所以,我在我的主目录做出了“USR” executeable并设置路径到主PATH=$HOME:$PATH

我想改变IFS变量在bash到/: export IFS='/'

可惜的是,当我叫C-PROGRAMM:我利用不起作用

是有人能告诉我什么是错?

Answer 1:

我想我们都在同一所大学读书,因为我目前同样的问题面对。 我不想给你的整体解决方案,因为这将是太容易=)

您的IFS变量没有被忽略,但你可能会认为这是行不通的。 当你调用C-PROGRAMM有在外壳的额外输出,它指的是lesspipe。 在信息这个环节 和这个德国链接 ,你能解决challenge1;)



Answer 2:

添加IFS为你的程序的调用的一部分system() 系统执行的代码/usr/bin/sh -c 。 所以,你可以做类似于您在shell提示符倒是什么。

system("export IFS='/'; /usr/bin/cmd");

需要注意的是,一旦子进程被终止,IFS组将不再是在父可用。



文章来源: C: IFS System() Vulnerability
标签: c security ifs