[DreamHack] Return Address Overwrite Write-Up
// Name: rao.c// Compile: gcc -o rao rao.c -fno-stack-protector -no-pie#include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0);}void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd, NULL}; execve(cmd, args, NULL);}int main() { char buf[0x28]; init(); printf("Input: "); scanf("%s", buf); return 0;}buf 배열은 0x28 바이트 크기로 선언된 40바이트 크기의 버퍼인데, scanf 함수를 사용하여..
[DreamHack] hook Write-Up
문제코드 // gcc -o init_fini_array init_fini_array.c -Wl,-z,norelro#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);} void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(60);} int main(int argc, char *argv[]) { long *ptr; size_t size; initialize(); printf("st..