write-up/pwnable.kr
[toddler's bottle] cmd1 풀이
#include #include 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=/thankyouverymuch"); if(filter(argv[1])) return 0; system( argv[1] ); return 0;} 처음엔 저기서 설정한 환경변수가 죽을 때 까지 그대론 줄 알았는데 프로그램 실행이 끝나고 나면 원래대로 돌아오는거였다. 즉, 기본실행경로 환경변수를 이상한걸로 조작해놓고 할걸 하라는 뜻이었다. 사실 별로..
2018. 12. 3. 11:54