BUUCTF pwn [HarekazeCTF2019]baby_rop2

本文详细介绍了HarekazeCTF2019比赛中baby_rop2的解题过程,包括文件分析、运行观察、使用IDA进行静态分析,以及在缺少默认gadget的情况下,如何通过栈溢出和printf函数泄露libc信息,最终构造ROP链来解决挑战。注意printf函数的参数使用,特别是格式化字符串%s的运用。
摘要由CSDN通过智能技术生成

0x01 文件分析

在这里插入图片描述

0x02 运行

在这里插入图片描述
 和babyrop一样。

0x03 IDA

在这里插入图片描述
 程序流程和babyrop差不多,但是这个里面没有提供可用的gadget,需要自己完成rop。

0x04 思路

 没有默认的gadget,需要自己构建,需要利用栈溢出和printf函数泄露libc版本和libc基址,再构建rop。需要注意的是printf函数需要用到的参数,第一个参数需要为格式化字符串%s。

0x05 exp

from pwn import *
from LibcSearcher import *
context.log_level = 'debug'


#p = process('./babyrop2')
p = remote("node3.buuoj.cn"
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值