RTL
[Dreamhack] Return to Library - Write Up
이번 문제는 아래 글과 동일한 문제이다. 다만 차이가 있다면 pwntools을 이용해 가젯과 문자열을 찾았다. [system][hacking] Exploit Tech : Return to Library(RTL) NX를 우회하는 공격기법인 RTL에 대해 공부한 내용이다. RTL을 공부하기 전 NX가 무엇인지, PLT가 무엇인지 알아야 한다. 이에 대한 내용은 아래의 글에 정리되어 있다. [system][hacking] 메모리 보호기 3omh4.tistory.com 간단히 사용한 API만 정리하였다. 밑의 API를 이용해 위 글의 페이로드를 적절히 수정해 해결하였다. pwntools ELF, ROP e = ELF('./rtl') r = ROP(e) system_plt = e.plt["system"] # bi..
![[System][Dreamhack] Exploit Tech : Return to Library(RTL)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaO5Dz%2FbtrSs0Nq0as%2FqUKy1rD4aOZDGVpsZ5dKj0%2Fimg.png)
[System][Dreamhack] Exploit Tech : Return to Library(RTL)
NX를 우회하는 공격기법인 RTL에 대해 공부한 내용이다. RTL을 공부하기 전 NX가 무엇인지, PLT가 무엇인지 알아야 한다. 이에 대한 내용은 아래의 글에 정리되어 있다. [system][hacking] 메모리 보호기법 Mitigation: NX & ASLR 지난 글(Return to shellcode)를 보면 쉘을 딸 수 있었던 이유는 다음과 같다. return addr을 임의의 주소로 덮기 가능 → canary 도입 ⇒ canary leak 으로 우회 버퍼의 주소 알아내기 가능 버퍼안의 쉘코드 실 3omh4.tistory.com [system] PLT & GOT PLT(Procedure Linkage Table)과 GOT(Global Offset Table)는 동적 링크된 심볼의 주소를 라이브러..