Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C:IFS系统()漏洞_C_Security_Ifs - Fatal编程技术网

C:IFS系统()漏洞

C:IFS系统()漏洞,c,security,ifs,C,Security,Ifs,出于教育原因,我不得不利用C代码 程序首先设置egid,然后使用系统(“/usr/bin/…”)设置漏洞命令 因此,我在我的主目录中创建了一个可执行的“usr”,并将路径设置为HomePath=$Home:$Path 我想将bash中的IFS变量改为/:export-IFS='/' 不幸的是,当我调用C程序时:我的漏洞不起作用 有人能告诉我出了什么问题吗?在程序调用system()时添加IFS。系统使用/usr/bin/sh-c执行代码。因此,您可以执行与shell提示符中类似的操作 syste

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

程序首先设置egid,然后使用
系统(“/usr/bin/…”)设置漏洞命令

因此,我在我的主目录中创建了一个可执行的“usr”,并将路径设置为Home
Path=$Home:$Path

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

不幸的是,当我调用C程序时:我的漏洞不起作用


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

在程序调用
system()
时添加IFS。系统使用
/usr/bin/sh-c
执行代码。因此,您可以执行与shell提示符中类似的操作

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

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

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


IFS变量并没有被忽略,但它并不像您想象的那样工作。当您调用C程序时,shell中还有一个额外的输出,它引用了lesspipe。有了这些信息,您就能够解决挑战1;)

我无法更改系统命令中的字符串。我必须利用它。所以我希望给定的系统(“/usr/bin/…”)重定向到我的usr可执行文件。类似地,它在系统(“./myProg”)中使用相对路径。我想通过改变IFS变量,在这种情况下我也能做到吗?我错了吗?你能发布一个完整的代码吗?我不确定您到底想要实现什么?欢迎使用堆栈溢出。在这种情况下,你应该展示你作为SSCCE(a)所做的尝试,以证明你在这个问题上付出了一些努力,并让我们看到你在做什么。请尽快阅读。是否只有一个漏洞?我看不到cat.c中的漏洞。通过向PATH变量添加条目,可以很容易地解决cat示例