write-up/pwnable

[HackCTF] RTL_World

여니두 2019. 10. 5.

32bit ELF

일단 실행시켜보면, 이렇게 뜬다.

 

여러개를 입력 해보니, buf가 입력을 받는 버퍼이고, case 5에서 read() 함수로 입력을 받고 있다.

이 부분에서 BOF를 일으키면 될 것 같다.

 

buf = [ebp-0x8c] --> 140byte

 

read(0, &buf, 0x400u = 1024byte)

 

>> buf의 크기보다 더 많이 입력받을 수 있기 때문에 BOF 가능.

 

system() 함수를 이용하여 RTL 공격을 해보자!

 

준비물: system 함수 주소, "/bin/sh" 인자, RET

 

1) /bin/sh

>> 0x08048eb1

 

2) system() 함수 주소

>> 0x080485b0

 

★ 페이로드

 

dummy[144] + system() 함수 주소 + dummy[4] - (argc 자리) + "/bin/sh"

 

'write-up > pwnable' 카테고리의 다른 글

[HackCTF] ROP  (2) 2019.10.05
[HackCTF] x64 Buffer Overflow  (0) 2019.10.04
[HackCTF] 내 버퍼가 흘러넘친다!!!  (0) 2019.10.04
[HackCTF] Basic_FSB  (0) 2019.10.04
[HackCTF] Basic_BOF #2  (0) 2019.10.04

댓글