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라는 좋은 명령어를 알았다.

자동으로 리틀엔디안형태로 바꿔준다는 듯 하다.

 

성공적으로 익스플로잇이 된다.