【发布时间】:2014-03-11 08:09:07
【问题描述】:
我得到了修改后的ls:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main(int argc, char **argv){
gid_t egid = getegid();
setregid(egid, egid);
printf("This is a special NSA-modified 'ls' program. Due to security reasons it can only run 'ls' without user parameters.\n");
system("ls -l");
return 0;
}
我需要运行修改后的ls 来运行一个名为get-code 的程序,但我不知道如何在这段代码中欺骗system 函数,不仅可以执行ls -l,还可以执行@987654327 @。这是一门来自学校的课程,我可以在互联网上向我的老师提问,课程是如何更好地保护程序,以免代码中出现任何安全漏洞。
有人可以帮助我吗?这不是重复的
【问题讨论】:
-
你为什么又重复你的问题?
-
我不明白,我知道其他问题和我的不一样。请帮帮我,我只有 17 岁好吗?我尝试了很长时间