HackCTF/Pwnable
[HackCTF] Pwnable - Basic_BOF #2
Shinya Matsuri
2020. 6. 25. 10:40
Pwnable 2번 문제인 Basic_BOF #2 이다.
?
음 파일을 보자.
32bit ELF 파일
NX-bit가 적용되어 있다.
IDA로 한번 코드를 보자.
s에 133만큼 입력을 받고, v5를 함수로 실행할 수 있다.
쉘코드를 쓰지 못하니 내장되어있는 함수를 사용해야하는데, 함수 목록에 shell이라는것이 보인다.
쉘을 주는 함수가 정의되어 있다.
즉, s에서 BOF를 시켜, v5의 값을 shell함수의 주소로 덮어쓰면 될 것이다.
shell함수의 주소는 0x0804849b
s는 ebp-8Ch, v5는 ebp-Ch이므로 0x8C-0xC, 128만큼 더미값으로 덮어쓰면 v5에 값을 덮어쓸 수 있을 것이다.
128만큼 더미값을 쓰고, 리틀엔디안으로 shell함수의 주소를 써주면 될 것 같다.
p32와 p64라는 좋은 명령어를 알았다.
자동으로 리틀엔디안형태로 바꿔준다는 듯 하다.
성공적으로 익스플로잇이 된다.