large bin attack

type
status
date
slug
tags
summary
category
icon
password
首先malloc chunk的结构:
fd_nextsize 和 bk_nextsize 是需要注意的,large blocks 使用的指针
排序部分:large bin中的堆块会如下排序
notion image
左为正常插入流程,右为伪造 bk_nextsize
流程:
  1. 分配一块大小 size1 在 Largebin 范围内的块 chunk1。
  1. 分配一块任意大小的块 pad1,主要防止在释放 chunk1 时系统将其与 top chunk合并。
  1. 分配一块大小 size2 在 Largebin 范围内的块 chunk2,要求size2<size1。
  1. 分配一块任意大小的块 pad2,主要防止在释放 chunk2 时系统将其与 top chunk合并
  1. 释放 chunk1,此时系统会将其放入 unsortedbin;再分配一个 size3 的块,要求size3>size1,此时系统就会将 chunk1 放进 Largebin中。
  1. 释放 chunk2进入 unsortedbin。
  1. 修改 chunk1−>bk_nextsize = Target − 0x20。
  1. 随意分配一个大小的块,就会触发Largebin attack。
总结一下大概长这样:
notion image
即实现了在任意地址写一个指向victim的指针
上一篇
fsop
下一篇
堆入门
Loading...
目录
文章列表
Hi~, I ‘m moyao
reverse
pwn
pentest
iot
android
others
ctf
iOS