Wargame

bof
1. intro 2. code 및 분석 2.1. code #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; } 2.2. 분석 main 함수에서 0xdeadbeef 의 값과 함께 func 함수를 실행한다. func 변수에서는 32 bytes의 overflowme 변수를 선언하고 여기에 값을 입력 받는..

collision
1. intro 2. code 및 분석 2.1. code #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

fd
1. intro 2. code 및 분석 2.1. code #include #include #include char buf[32]; int main(int argc, char* argv[], char* envp[]){ if(argc python3 a.py [+] Connecting to pwnable.kr on port 2222: Done [*] fd@pwnable.kr: Distro Ubuntu 16.04 OS: linux Arch: amd64 Version: 4.4.179 ASLR: Enabled [+] Starting remote process bytearray(b'./fd') on pwnable.kr: pid 406811 good job :) ----------#플래그는 삭제