dreamhack3 [Dreamhack] basic_rop_x64 문제 풀이 Dreamhack의 pwnable 트랙에 있는 내용들을 미리 학습하고 오시면 이해가 편할 것이다. EnvironmentArch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x400000) Partial RELRO가 적용되어 있어서 got overwrite가 가능하다. 코드를 보자면 #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbu.. 2025. 11. 16. [Dreamhack] rop 문제 풀이 개인적으로 지금까지 문제 중 가장 어려웠고 가장 재밌었던 문제였다. Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x400000) Stripped: No checksec으로 취약점을 확인해봤다. x64, Partial RELRO, Stack Canary, NX가 적용되어있다.Partial RELRO이므로 GOT overwrite가 가능하다.이유로는 plt는 고정 주소이고, .Partial RELRO는 .got.plt를 수정할 수 있기 때문에 plt를 통한 함수 흐름 제어가 가능해진다.이 부분은 다음에 완.. 2025. 10. 21. [dreamhack] ssp_001 풀이 리눅스의 리틀 엔디언을 사용하는 x86 이다.Canary가 있으며, NX 보호 기법이 쓰였다. 이를 통해서 카나리를 가져온 다음 셸을 획득하는 문제라는 것을 알 수 있다. #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");}void print_box(unsigned ch.. 2025. 8. 28. 이전 1 다음