C:IFS系统()漏洞

时间:2012-10-13 14:18:07

标签: c security ifs

出于教育原因,我必须利用C代码

程序首先设置egid,然后使用system("/usr/bin/...");命令设置漏洞。

所以我在我的主目录中创建了一个'usr'可执行文件,并将路径设置为主页PATH=$HOME:$PATH

我想将bash中的IFS变量更改为/:export IFS='/'

不幸的是,当我打电话给C-Programm时:我的漏洞利用不起作用

有人能告诉我出了什么问题吗?

2 个答案:

答案 0 :(得分:4)

将IFS添加为程序调用{​​{1}}的一部分。系统使用system()执行代码。所以你可以做类似于你在shell提示符中的内容。

/usr/bin/sh -c

请注意,一旦子进程终止,IFS集将不再在父进程中可用。

答案 1 :(得分:3)

我想我们正在同一所大学学习,因为我目前面临着同样的问题。我不想给你整个解决方案,因为这太容易了=)

您的IFS变量不会被忽略,但它不会像您想象的那样工作。当你调用C-Programm时,shell中有一个额外的输出,它指的是lesspipe。通过this link and this german link中的信息,您可以解决挑战1;)