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

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

checksec pwn 查看一下保护机制

可以看到这是一个64-bit的文件,NX保护开启

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

可以看到buf在rbp-0x60处,nbytes在rbp-0x8处,所以我们可以利用buf将nbytes的值更改成任意值(0x100),然后read(0,&v1,nbytes)栈溢出

返回虚拟机

ROPgadget --binary pwn --only "pop|ret"

得到pop_rdi_ret=0x400793,ret_addr=0x400509

nano exp.py

第一次payload:更改第二次输入的内容为0x100字节,让其可以发送栈溢出

第一次payload2:调用puts函数,泄露read@got里存储的read函数的真实地址,进而获得system函数和字符串'/bin/sh'的地址,并在最后返回sub_4006A9函数

第二次payload:同上

第二次payload2:构造system("/bin/sh"),获得shell

保存退出

python3 exp.py

7

cat flag

此题完

相关推荐
学逆向的1 天前
C 堆区内存管理
c语言·开发语言·网络安全
武天旭1 天前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
zhangrelay1 天前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
2601_967212721 天前
智能电源轨道技术原理、认证核查与场景适配说明
大数据·经验分享·安全
KKKlucifer1 天前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
On The Road :1 天前
Java 多线程详解:从入门到线程安全
java·python·安全
阿尼卡~1 天前
VS Code 配置 C 语言开发环境(Windows 10/11):从 GCC 安装到运行、断点调试,一篇搞定
c语言·开发语言·windows
叼烟扛炮1 天前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
汤姆宝库1 天前
安全深拆:越狱物理、注入攻击与纵深防御
人工智能·安全·机器学习·ai
m4Rk_1 天前
【论文阅读】Agent 记忆机制(113):Agentic Memory Management——从“检索相关信息”走向“管理 Agent 内部记忆”
论文阅读·人工智能·学习·开源·github