对于教育的原因,我不得不利用的C代码
所述PROGRAMM设置EGID第一,然后与该漏洞system("/usr/bin/...");
命令。
所以,我在我的主目录做出了“USR” executeable并设置路径到主PATH=$HOME:$PATH
我想改变IFS变量在bash到/: export IFS='/'
可惜的是,当我叫C-PROGRAMM:我利用不起作用
是有人能告诉我什么是错?
对于教育的原因,我不得不利用的C代码
所述PROGRAMM设置EGID第一,然后与该漏洞system("/usr/bin/...");
命令。
所以,我在我的主目录做出了“USR” executeable并设置路径到主PATH=$HOME:$PATH
我想改变IFS变量在bash到/: export IFS='/'
可惜的是,当我叫C-PROGRAMM:我利用不起作用
是有人能告诉我什么是错?
我想我们都在同一所大学读书,因为我目前同样的问题面对。 我不想给你的整体解决方案,因为这将是太容易=)
您的IFS变量没有被忽略,但你可能会认为这是行不通的。 当你调用C-PROGRAMM有在外壳的额外输出,它指的是lesspipe。 在信息这个环节 和这个德国链接 ,你能解决challenge1;)
添加IFS为你的程序的调用的一部分system()
系统执行的代码/usr/bin/sh -c
。 所以,你可以做类似于您在shell提示符倒是什么。
system("export IFS='/'; /usr/bin/cmd");
需要注意的是,一旦子进程被终止,IFS组将不再是在父可用。