[시간 절약하기] 시스템해킹 문제풀때 주의해야할 것들

Stack Alignment

실제 exploit할 때 함수의 주소가 달라요.
페이로드는 분명 잘 짠 거 같은데 Segmentation Fault가 발생해요

 

 -> Stack Alignment (MOVAPS) 의심

16바이트 정렬이 아닐 경우 발생 가능성 있음

 

보통 ROP할 때 많이 겪게 된다.

64비트 환경에서는 ret와 같은 가젯으로 8바이트를 채워 16바이트 정렬을 할 경우 페이로드가 의도대로 동작하는 경우가 있다.

 

https://hackyboiz.github.io/2020/12/06/fabu1ous/x64-stack-alignment/

https://c0wb3ll.tistory.com/entry/ret2libc-x64

 

 

로컬 익스와 서버 타이밍 조절

 

로컬은 연산 속도가 빠르니 금방 익스가 된다해도 서버같은 경우 응답시간에 따른 속도를 고려해줘야한다.

받은 버퍼의 응답을 할 땐 sendafter나 sendlineafter을 사용하거나 어떠한 연산을 기다려야한다면 sleep으로 조절을 해주자.

 

https://dreamhack.io/wargame/challenges/701

 

이런 문제 한번 풀어보자