[HackCTF] (Pwnable) RTC 풀이
int __cdecl main(int argc, const char **argv, const char **envp) { char buf; // [rsp+0h] [rbp-40h] setvbuf(stdin, 0LL, 2, 0LL); write(1, "Hey, ROP! What's Up?\n", 0x15uLL); return read(0, &buf, 0x200uLL); } main 함수이다. rbp-0x40 에 0x200 을 입력받는다. 보호기법은 NX 만 enable 되어있다. 라이브러리파일이 주어졌기때문에 write 함수로 read@got 주소를 leak 해서 라이브러리베이스를 구한 뒤, 원샷가젯으로 return 하자. 하지만 pop rdx 가젯이 없기때문에 csu 함수 로 리턴하자 . r12+rbx*8 ..
2020. 9. 10.