Wargame/pwnable.kr

    [Pwnable.kr] passcode 풀이 (10pt)

    풀이 다음은 passcode.c 코드이다. #include #include void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); scanf("%d", passcode1); fflush(stdin); // ha! mommy told me that 32bit is vulnerable to bruteforcing :) printf("enter passcode2 : "); scanf("%d", passcode2); printf("checking...\n"); if(passcode1==338150 && passcode2==13371337){ printf("Login OK!\n"); system("/bin/cat flag"); } els..

    [Pwnable.kr] flag 풀이 (7pt)

    풀이 읭? IDA로 안 열리네? 문제(Papa brought me a packed present! let's open it.)를 자세히 읽어보니 패킹되어 있는 듯하다. 역시나 UPX로 패킹되어있다. 패킹을 풀어보자. IDA로 아무 생각없이 열어봤다. 음?? 클릭해보자.

    [Pwnable.kr] bof 풀이 (5pt)

    풀이 cafebabe를 babecafe로 봐서 삽질.. 이번 문제는 간단한 32bit bof 문제다. 다음은 bof.c의 코드이다. 1 #include 2 #include 3 #include 4 void func(int key){ 5 char overflowme[32]; 6 printf("overflow me : "); 7 gets(overflowme); // smash me! 8 if(key == 0xcafebabe){ 9 system("/bin/sh"); 10 } 11 else{ 12 printf("Nah..\n"); 13 } 14 } 15 int main(int argc, char* argv[]){ 16 func(0xdeadbeef); 17 return 0; 18 } func 함수의 인자로 0xde..

    [Pwnable.kr] collision 풀이 (3pt)

    풀이 col.c의 내용은 다음과 같다. #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] fd 풀이 (1pt)

    풀이 fd.c 파일의 내용은 다음과 같다. #include #include #include char buf[32]; int main(int argc, char* argv[], char* envp[]){ if(argc