Pwnable/pwnable.kr (3) 썸네일형 리스트형 pwnable.kr wargame bof write-up 간단한 bof 문제이다. 바로 소스코드를 열어보자. #include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme);// smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("Nah..\n"); } } int main(int argc, char* argv[]){ func(0xdeadbeef); return 0; } key가 0xcafebabe이면 쉘을 실행시켜준다. 입력은 overflowme 변수에 받기 때문에 key와 overflowme의 거리를 알면 bof를 할 수 있을 것이다. gdb로 실행시켜보자... pwnable.kr wargame collision write-up pwnable.kr에 나와있는 접속 정보로 접속 전과 똑같이 flag는 열 수 없다. 소스코드를 확인해보자 #include #include unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i pwnable.kr wargame fd write-up pwnable.kr에 나와있는 접속 정보로 접속 시작하자마자 flag란 파일이 보이는데 열 수 없다. ls -al로 확인해보자 -r--r----- 1 fd_pwn root 50 Jun 11 2014 flag 권한이 없다. 이제 문제 프로그램의 소스코드를 확인해보자. #include #include #include char buf[32]; int main(int argc, char* argv[], char* envp[]){ if(argc 이전 1 다음