1. 문제
NX 가 걸려있다.
입력을 받고, Hello World! 를 출력한다.
read() 입력 시 버퍼보다 더 입력받아 bof 가 발생한다.
NX + ASLR 걸려있는 상황에서, 주소도 leak 되지 않음 -> ROP
2. 문제 해결 과정
기본적인 rop로도 풀 수 있지만, 이번엔 다음과 같이 풀어보았다.
-> got 주소를 하나 leak 한 후 bof 가 터지는 vulnerable_function 으로 다시 돌아가서 leak 했던 주소를 통해 system, binsh 실제 주소를 구한 뒤 페이로드를 다시 보내는 방식
필요한 것들을 구해보자!
pppr 가젯
offset : 0x88 + 4 = 140
3. 익스플로잇
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] Look at me (sysrop) (0) | 2021.04.23 |
---|---|
[HackCTF] SysROP (0) | 2021.04.23 |
[HackCTF] Gift (0) | 2021.04.19 |
[HackCTF] Look at me (0) | 2021.04.19 |
[HackCTF] Random Key (0) | 2021.04.19 |