Buffer Overflow - Easy★★★★★✩

Basic of System Hacking
link
id: bof passwd: bof
use /tmp if you need.
#include <stdio.h>
#include <stdlib.h>

char answer[0x100];
int main()
{
        int change_this = 0x12345678;
        char buf[0x100];
        printf("before change: %08x\n", change_this);
        read(0, buf, 0x200);
        if(change_this == 0x41424344)
        {
                FILE *fp = fopen("/home/bof-easy/answer","r");
                fread(answer, 1, 100, fp);
                puts("Great! here is answer");
                puts(answer);
        }
        printf("after change: %08x\n", change_this);
        exit(0);
}

Buffer overflow문제이다. buf는 0x100만큼 이지만 read로 0x200까지 받으므로 buf를 넘어서서 change_this의 영역까지 건드릴 수 있다.

260글자 아무거나 입력해주고 change_this의 영역에 들어갈 값을 입력하면 된다.

Flag : GoN{n0w_U_kn0w_st3ck}

results matching ""

    No results matching ""