当前位置: 首页 > 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.hn-smt.com/news/331/

相关文章:

  • CSP-S2025 游记
  • 「LG3600-随机数生成器」题解
  • MathType7下载包安装教程2025最新下载+安装+汉化激活(附安装包,超详细)
  • 2025强网杯ezphp复现
  • 漏洞报告被拒绝的常见原因及避免方法
  • 【IEEE出版 | 重庆邮电大学主办 | 多届次、高层次】第六届人工智能与计算机工程国际学术会议(ICAICE 2025)
  • Docker容器里面部署的Jenkins的Java17升级到21版本(无需删除之前容器,内部在线升级) - 攻城狮
  • 报表知识
  • 渐进过程中大O与小o混用
  • 消息队列的有序性
  • 【LTDC】DMA2D —— 嵌入式系统的 GPU
  • unity管理器设计:Manager of Managers
  • iview table 排序 columns 里面写 sortable: custom 不要写 sortable: true 不然会进行二次内部排序序号等 字段。
  • 本地运行nginx服务,模拟线上环境访问项目
  • git提交远程项目步骤
  • 2025 年搅拌器搅拌设备,侧入式搅拌设备,斜插式揽拌设备,卧式搅拌设备厂家最新推荐,聚焦资质、案例、售后的五家企业深度解读
  • 2025 年环保搅拌设备,搅拌装置设备,框式搅拌设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • CorelDRAW的shell扩展ShellXP.dll导致资源管理器explorer.exe卡死/冻结/无响应/挂起
  • 2025 年定制矿车,大型矿车,固定式矿车厂家最新推荐,产能、专利、环保三维数据透视
  • 醒图电脑版下载与安装教程(2025最新版)
  • 2025 年江苏电缆附件,热缩电缆附件,冷缩电缆附件,预制电缆附件厂家最新推荐,产能、专利、环保三维数据透视
  • Android Studio 使用glibc2.28的版本
  • 2025年10月兰花油品牌推荐榜:五款精华油深度对比与选购指南
  • 2025年浅拾兰花双萃致臻精华油:从成分与技术维度解析其护肤功效
  • 2025 年进口螺杆泵,萨伯特螺杆泵,污泥螺杆泵厂家最新推荐,实力品牌深度解析采购无忧之选!
  • 为什么 AI 模型的最小理解单位是「特征」?
  • 2025年移动车载变电站厂家最新推荐榜:陕西四方华能凭硬实力成优选
  • XiaoQuQu 的 2025 CSP-S 第二轮模拟 ROUND2
  • 2025年硬密封闸阀厂家权威推荐榜单:手动闸阀/明杆闸阀/法兰闸阀源头厂家精选
  • 深入解析:ArcGIS Manager Server Add Host页面报错 HTTP Status 500