Balsn_CTF_2019-PlainText-WP
这道题确实是比较难,卡了很多天,又花了很久才复现出来。
漏洞点分析
程序的流程比较清晰简单,在 add 函数中,存在明显的 off-by-null。

而 free 中对被 free 的指针进行了置空,导致无法直接 show,而程序对我们的输入末尾附加 \x00
,也无法使用释放再申请的方法,leak 比较困难。

PlaidCTF2021-Plaidflix-WP
周末两天都在打这个比赛,毕竟是高质量的国际赛,难度确实是有点大,我也只做出了这道比较传统并且简单的题目。
首先是程序的逆向,不知道对 binary 做了什么处理,反正用 IDA 分析乱的一塌糊涂,但是和动调结合还是可以理解清楚程序的功能的。总体来讲在 manage movie 和 manage friend 中仅有一个 share movie with friend 这个功能存在有限的 UAF,也就是通过先分享电影给朋友,然后删掉朋友,仍然是可以输出朋友的信息的,通过这样的方法可以 leak 出堆地址和 libc 地址。比较坑爹的是,在靶机使用的 libc 下,main_arena + 0x60 的偏移的最低一字节正好是 \x00,无法输出。但是由于可以申请大小为 \x90 的 chunk,所以可以通过把 unsorted bin 压入 small bin 的方法来 leak。
…BUU-[OGeek2019 Final]OVM-WP
做的第二道虚拟机类题,此题还算比较简单,因为程序结构很清晰,也贴心的给出了调试信息,可以比较容易读懂程序。读懂程序之后找到漏洞点,利用就比较简单了。
…