#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(30); } void get_shell() { system("/bin/sh"); } int main(int argc, char *argv[]) { long addr; long value; char buf[0x40] = {}; initialize(); read(0, buf, 0x80); //bof가능 printf("Addr : "..
참고 [Pwnable/FSOP] - [FSOP] _IO_FILE vtable overwrite (~Ubuntu 16.04) [FSOP] _IO_FILE vtable overwrite (~Ubuntu 16.04) hannahsecurity.tistory.com 위의 내용을 알아야 풀 수 있당 Ubuntu 16.04이기 때문에 vtable 검증 로직이 존재하지 않아 쉽게 overwrite할 수 있다. #include #include #include #include char name[8]; void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NU..