syscall 없을때
-
Syscall 가젯이 없을 때공부정리 2019. 3. 6. 04:06
Pwnable문제를 풀다보면 syscall로 익스를 해야될 때가 있다. 딱 언제라고 예를 들기는 어렵지만, 여러가지 제한들이 걸려있는 상황이 그렇다.RTL이 불가능할 때? 이 때 제일 많이 사용했던 것 같다. 하지만, Syscall_gadget마저 제한을 둔 문제들이 종종 있다.이 때, Libc에 있는 syscall가젯의 하위 1Byte를 GOT_Overwrite해서 syscall을 사용할 수 있다.[ find "\x0f\x05"(syscall) ]x64의 시스템콜 opcode인 "\x0f\x05"를 검색해보면 Libc에 위치한 syscall가젯들이 대략 573개 정도 나온다.여기서 내가 syscall가젯으로 Overwrite할 함수에 위치한 syscall을 찾아야 한다. [ read_syscall ]빨..