[dreamhack.io] 「rop」 풀이


[dreamhack.io] 「rop」 풀이

Dreamhack 난이도 이름 rop 미리 알고 올 것 PLT와 GOT 이해 스택 카나리(Stack Canary) 이해 SYSV 함수 호출 규약 워게임 <Return to Library> (RTL; Return to Library 기법) 문제에서 주어진 바이너리 파일의 C언어 소스코드는 아래와 같습니다. // Name: rop.c // Compile: gcc -o rop rop.c -fno-PIE -no-pie #include <stdio.h> #include <unistd.h> int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Leak canary puts("[1] Leak Canary"); write(1, "Buf: ", 5); read(0, buf, 0x100); printf("Buf: %s\n", buf); // Do ROP puts("[2] Input ROP ...


#ASLR #rop #ROP_chaining #stack_canary #system #문제풀이 #버퍼오버플로우 #스택프레임 #자세함 #return_to_library #return_oriented_programming #bof #dreamhack #exploitation #GOT #GOT_overwrite #NX #pwn #pwnable #해설

원문링크 : [dreamhack.io] 「rop」 풀이