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)

    [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)는 동적 링크된 심볼의 주소를 라이브러..