
RTC
·
Wargame/HackCTF
https://jiravvit.tistory.com/entry/RTC-Return-to-CSU 자료를 참고하여 익스플로잇을 진행했다. rtc 바이너리의 가젯을 찾아보니 pppr에 해당하는 가젯이 없다. 따라서 RTC 기법을 통해 해당 가젯을 이용할 수 있게끔 문제 풀이를 진행했다. 코드는 간단한다. read 함수에서 BOF -> ROP를 통해 system 함수를 실행시키면 된다. 다만 마땅한 gadget이 없어서 문제인데, libc_csu_init 부분에서 얻었다. 페이로드를 작성할 땐 csu_init -> csu_call 순으로 작성한다. 링크를 참조하면 무슨 값을 각각 넣어야하는 지 잘 나와 있다. 다만, 짚고갈 포인트는 다음과 같다. r13을 rdx로, r14를 rsi로, r15d를 edi로 옮긴다..