buuctf-pwn bypwn(ret2shellcode)题解(学习过程持续更新)

本人也是在自学过程,主要目的也是记录学习过程,有些地方做的不太好,都是按照自己理解进行讲解的(不专业),欢迎大家指出问题

此处我将文件命名为bypwn

checksec bypwn 查看一下保护机制

可以看到这是一个64-bit的文件,什么保护也没开

将文件拖入ida64,按F5将汇编代码转换成c语言代码,得到

可以看到存在scanf栈溢出,需要填充0x50+8的垃圾数据至return address。我们可以将shellcode写在&v4的最开头,然后覆盖返回地址为我们写入shellcode的地址。

双击sub_4007F9,进入这个函数

可以看到让我们输入0x20字节的内容,然后打印出来。我们可以利用printf遇到'\x00'才会停止输出这个特点,输出rbp的地址,从而得到我们写入shellcode的地址(rbp-0x50)

返回虚拟机

nano exp.py 开始写攻击脚本

第一次发送用于接收rbp的地址,从而得到我们后续写入shellcode的地址

第二次发送shellcode,然后填充剩余垃圾数据至return address,覆盖返回地址为写入shellcode的地址,执行shellcode,获得shell

保存退出

python3 exp.py

cat flag

此题完

相关推荐
国科安芯7 分钟前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
海海不掉头发9 分钟前
阶段五_实验34-38_学习总结
深度学习·神经网络·学习·机器学习
hasty21 分钟前
2026软件供应链安全政策全景
安全·安全威胁分析·代码复审
M78佐菲24 分钟前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲27 分钟前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
小程序设计31 分钟前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
dadaobusi1 小时前
学习:PCIe原子操作
学习
李游Leo1 小时前
HarmonyOS 7 + ArkUI + RelationalStore 学习笔记:本地数据分层存储与状态持久化架构实践【鸿蒙心迹】
笔记·学习·架构·harmonyos
绿蕉1 小时前
从“叠积木补安全“到“设计即安全“:EE 架构里的安全左移革命
安全·架构
我命由我123451 小时前
经纪人的职业定义
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法