pwnable 7번 문제인 Simple_Overflw_ver2 이다.
입력을 받고 그대로 출력을 해주는데, 위치는 0xffcd43b0 으로 고정되어 있는 것을 확인할 수 있다.
32비트 ELF 파일, 적용된 보호기법은 없다.
NX-bit도 없고 쉘을 주는 함수도 없다.
그리고 scanf로 s를 입력받으니 BOF 취약점이 있다.
또, s의 주소를 제공해주므로 s에 쉘코드를 넣고 더미값을 채워 ret을 다시 s의 주소로 덮으면 될 것s의 같다.
s가 ebp-88h이니 쉘코드를 넣고, 0x88 + 4(sfp) - 쉘코드의 길이 만큼 더미 값을 채워넣고, ret을 다시 s의 주소로 덮어써보자.
자 정리를 해보자.
1. scanf로 입력받아 BOF 취약점이 일어난다.
2. 매타임 입력할 때 s의 주소를 알려주므로 쓰레기값을 하나 넣어주고 주소값을 먼저 받는다.
3. s에 쉘코드(25byte)를 넣고 136(0x88)+4-25 = 115의 만큼 더미데이터를 넣어준다.
4. s의 ret에 s의 주소를 다시 넣자.
좋아, 익스코드를 짜보자.
엄..
성공적으로 익스플로잇이 된다.
'HackCTF > Pwnable' 카테고리의 다른 글
[HackCTF] Pwnable - BOF_PIE (0) | 2020.08.12 |
---|---|
[HackCTF] Pwnable - Offset (0) | 2020.07.27 |
[HackCTF] Pwnable - x64 Simple_size_BOF (0) | 2020.07.08 |
[HackCTF] Pwnable - x64 Buffer Overflow (0) | 2020.07.08 |
[HackCTF] Pwnable - 내 버퍼가 흘러넘친다!!! (1) | 2020.07.07 |