pwnable 4번 문제인 내 버퍼가 흘러넘친다!!! 이다.
이름이랑 뭔가 입력을 받는다.
prob1를 한번 보자.
딱히 적용된 보호기법은 없다.
main문에서 name에 read로 0x32만큼 입력을 받는다.
그리고 다시 s에 gets로 입력을 받는다.
NX-bit가 적용되어 있지 않으니 name에 쉘코드를 입력하고, s에 BOF를 일으켜 name을 실행할 수 있을 것 같다.
name의 주소를 확인해보자.
0x0804A060이다.
즉 처음 입력에 0x32 크기보다 작은 쉘코드를 넣고, s에서 0x14 + 4(sfp)만큼 더미값으로 덮은 뒤 s의 ret을 name의 주소 0x0804A060로 덮어써서 BOF가 일어나도록 할 수 있을 것이다.
익스코드를 짜보자.
쉘코드는 25byte 짜리를 가져다 썼다.
실행을 해보면..
성공적으로 익스플로잇이 된다.
'HackCTF > Pwnable' 카테고리의 다른 글
[HackCTF] Pwnable - x64 Simple_size_BOF (0) | 2020.07.08 |
---|---|
[HackCTF] Pwnable - x64 Buffer Overflow (0) | 2020.07.08 |
[HackCTF] Pwnable - Basic_FSB (0) | 2020.07.03 |
[HackCTF] Pwnable - Basic_BOF #2 (0) | 2020.06.25 |
[HackCTF] Pwnable - Basic_BOF #1 (0) | 2020.06.25 |