wargame - system/DreamHack
[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..
![[Dreamhack] exploit tech : Return Address Overwrite](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsUnBQ%2FbtrC8mD8pmh%2FlN6P3GWnvD257KKcC0IDDK%2Fimg.png)
[Dreamhack] exploit tech : Return Address Overwrite
드림핵을 기반으로 작성한 내용이다. 버퍼오버플로우에 대한 익스 테크이므로 아래의 글을 참고하면 좋다. [system][hacking] stack buffer overflow - 스택 버퍼 오버플로우 드림핵 내용을 기반으로 내 방식으로 이해한 내용을 정리했다. (잘못된 내용이 있다면 댓글로 알려주세요..!) 스택 버퍼 오버플로우 스택의 버퍼에서 발생하는 오버플로우 버퍼 데이터가 목적지 3omh4.tistory.com 예제 코드 // Name: rao.c // Compile: gcc -o rao rao.c -fno-stack-protector -no-pie #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } ..