ÀÌÁ¦ ¸· ¸®´ª½º¶û ÄÚµå ¹è¿ö°¡´Â »õ³»±â ÀÔ´Ï´Ù. ¤Ð¤Ð
#include <stdio.h>
#include <string.h>
int filter(char *cmd) {
if (strstr(cmd, "f")) return 1;
if (strstr(cmd, "sh")) return 1;
if (strstr(cmd, "tmp")) return 1;
return 0;
}
extern char **environ;
int main(int argc, char *argv[], char *envp[]) {
char **p;
printf("I am king the Godzo...\n");
printf("I will let you execute a command again.\n");
printf("However, I am much stronger than Tracer.\n");
for (p=environ; *p; p++)
memset(*p, 0, strlen(*p));
putenv("PATH=/uri_mercy_gaemotham");
if (filter(argv[1])) {
printf("caught by filter!\n");
return 0;
}
system(argv[1]);
return 0;
}
|