write-up/pwnable
[HackCTF] RTL_World
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 |
댓글