buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)

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

此处我将文件命名为pwn

checksec pwn 查看一下保护机制

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

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

可以看到存在read(0,buf,0x100)栈溢出,填充0x20+8的垃圾数据至return address,此题没有内置system函数和/bin/sh,所以我们需要利用printf来泄露read@got里存储的read函数的真实地址,进而得到system函数和/bin/sh的地址,从而构造system("/bin/sh")

返回虚拟机

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

得到pop_rdi_ret = 0x400733

nano exp.py

payload:调用printf函数,泄露read@got里存储的read函数的真实地址,进而得到system函数和/bin/sh的地址

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

保存退出

python3 exp.py

1

find -name flag

cat ./home/babyrop2/flag

此题完

相关推荐
马立杰1 小时前
IE241210_路由安全技术(三层安全)
网络·安全
马立杰1 小时前
IE241211_路由安全技术(三层安全)
网络·安全·智能路由器
迪康Defender1 小时前
公用电脑责任追溯难?迪康端点安全一体化管理系统用户模式详解
java·运维·开发语言·网络·其他·安全
迪康Defender2 小时前
迪康端点安全一体化管理系统文档安全:构建企业文档资产全链路防护体系
运维·网络·安全·web安全·终端安全管理
aprilaaaaa2 小时前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
wuyk5552 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
山东科恩光电3 小时前
科恩隐卫-KZS-01系统实现注塑生产的安全与高效兼顾
安全
xian_wwq3 小时前
【学习笔记】-深度认知系列-第8讲主流AI模型横向评测——GPT、Claude、Gemini、盘古、文心、通义
人工智能·笔记·学习
大牧师3 小时前
TypeORM 学习教程
数据库·sql·学习·node.js·orm·nest.js·typeorm