#include <stdio.h>

#include <string.h>


int filter(char* cmd){

        int r=0;

        r += strstr(cmd, "flag")!=0;            //flag, sh, tmp문자열 필터링

        r += strstr(cmd, "sh")!=0;

        r += strstr(cmd, "tmp")!=0;

        return r;

}

int main(int argc, char* argv[], char** envp){

        putenv("PATH=/fuckyouverymuch");        //path환경변수 초기화

        if(filter(argv[1])) return 0;

        system( argv[1] );

        return 0;

}



필터링 우회하는데는 정규식만한게 없는것 같다.








argv에 export를 넣어줘서 path를 다시 넣어주는 방법도 있다.

'war game > pwnable.kr' 카테고리의 다른 글

pwnable.kr uaf 8pt  (0) 2016.10.12
pwnable.kr cmd2 9pt  (0) 2016.10.12
pwnable.kr lotto 2pt  (0) 2016.10.11
pwnable.kr blackjack 1pt  (0) 2016.10.11
pwnable.kr coin1 6pt  (0) 2016.10.11

+ Recent posts