ipwn
이번에 작성할 Writeup은 코게 2018에 나온 BaskinRobins31이다. 그냥 되게 간단히 풀리는 문제였다. 64bit이며, NX가 걸려있다. int __cdecl main(int argc, const char **argv, const char **envp){ unsigned int v3; // eax unsigned int v5; // [rsp+8h] [rbp-8h] _BOOL4 v6; // [rsp+Ch] [rbp-4h] setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 2, 0LL); v3 = time(0LL); srand(v3); v5 = 31; v6 = 0; puts("### This game is similar to the BaskinRobin..
이번엔 pwn5문제다. static linked 컴파일 되어있고 nx가 걸려있다. 휴 733kb이길래 갑자기 왜 이렇게 함수가 많아진거지 했는데, 그냥 스태틱 링킹 방식으로 컴파일 한거였다.바로 풀러 가보자. int __cdecl main(int argc, const char **argv, const char **envp){ print_beginning(); return 0;} print_beginning함수를 호출해준다. int print_beginning(){ int result; // eax char v1; // [esp+Fh] [ebp-9h] puts("Welcome to the TAMU Text Adventure!"); puts("You are about to begin your journey ..
이번에 푼 문제는 pwn4이다. 바로 ida로 까보겠다. int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ setvbuf(_bss_start, (char *)2, 0, 0); while ( 1 ) reduced_shell();} reduced_shell함수를 호출한다. int reduced_shell(){ char s; // [esp+Ch] [ebp-1Ch] puts("I am a reduced online shell"); puts("Your options are:"); puts("1. ls\n2. cal\n3. pwd\n4. whoami\n5. exit"); printf("Input> "); gets(&s); if ..