Total
HackCTF Sysrop
이미 많이 나와있는 여러가지 write up을 보면서 따라하며 익혔다. 1. 실행 sysrop 파일을 실행하면 입력을 받고 끝난다. NX bit가 걸려있다. NX bit가 걸려있기 때문에 쉘코드는 사용할 수 없다. NX bit같은 보안 방어가 있는 상태에서는 ROP(코드를 실행할 수 있게 해주는 기술)를 시도할 수 있겠다. 소스코드를 읽어보면 rbp-0x10에 0x78(120)크기 만큼의 데이터를 입력받을 수 있다. 여기에서 overflow가 일어난다. 2. exploit read 말고는 다른 함수가 없다. libc 주소를 leak을 하기 위해 사용해야하는 함수가 딱히 없다. 이때 시도할 수 있는 방법이 syscall을 이용한 ROP이다. (read 함수 안에서 호출되는 syscall을 이용하는 ROP)..