bluehat2021-portable-WP
很久之前打的比赛了,由于调试环境没配好,一直没复现这道题,前天突发奇想手动编译了一下 qemu 发现可以调了,所以就复现了一下
主要的洞在

这里的 switch 中,没有对 v1 进行范围检查,所以输入零就可以不更新 player 信息,实现 double free 和 leak。
…
PWN ARM 环境配置
主要使用的调试方法为:qemu + gdb-multiarch,再交叉编译得到有符号的 libc。
qemu 安装
直接通过 apt 安装并不是一个很好的选择,因为版本往往不是最新的,而且对调试的支持并不是很好(内存分析的比较一般),我选择通过手动编译安装来安装。
…
《操作系统真像还原》操作系统实现——内存池管理
操作系统需要管理内存页的映射,即虚拟地址和物理地址的映射关系,一种简单的方法是一对一映射,管理起来也比较方便,申请的时候填写页表,释放的时候清空页表就可以了,但是这样就背离了我们引入虚拟地址的初衷。而若想使用乱序映射的映射方法,我们需要用某种数据结构来管理物理内存的使用情况。
…