write-ups/pwnable.kr

pwnable.kr cmd1 write up

2017. 7. 5. 01:14

pwnable.kr cmd1 write up

H3X0R팀 소속 BoB 6기 ch4n3



#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;
}


pwnable.kr의 cmd1 문제의 소스코드이다. 별거 없다. 그냥 flag, sh, tmp라는 문자열이 argv[1]에 있으면 프로그램을 종료하고, 아니면 system으로 명령어로써 execute한다.


리눅스를 조금만 사용했었다면, 이 문제는 쉽게 풀 수 있었을 것이다. 



지금껏 풀었던 pwnable.kr 문제들 중에서 제일 쉬웠던 문제였다ㅋㅋ






'write-ups > pwnable.kr' 카테고리의 다른 글

pwnable.kr cmd2 write up  (0) 2017.07.05
pwnable.kr blackjack write up  (0) 2017.07.05
pwnable.kr mistake write up  (0) 2017.07.04
pwnable.kr random write up  (0) 2017.07.04
pwnable.kr passcode write up  (0) 2017.07.04