CVE-2021-21220
这是一个在今年的 pwn2own 的比赛上披露的漏洞,可以通过 v8 引擎实现任意代码执行,前天看到腾讯玄武实验室推送了 two-birds-with-one-stone-an-introduction-to-v8-and-jit-exploitation 这篇文章,介绍了这个漏洞的成因。漏洞本身是 jit 引擎在选择机器指令时,对 x86 平台下有符号拓展和无符号拓展指令的选择有误造成的,总体来说比较好理解,感觉比较适合作为 v8 jit 利用入门。参考这篇文章和谷歌归档的 exp,我也完成了利用。这里记录一下。本人也只是刚刚开始摸索浏览器相关的利用,肯定有不对的地方,欢迎指出。
…
DragonCTF-noflippidy-WP
昨天的 DragonCTF 中出现了一道改编自 DiceCTF 2021 flippidy 的题,原题是一道比较传统的堆题,此题进行了一个小 patch,想要执行原先的漏洞函数,需要满足 fs:0x28 也就是 canary 为 0。很遗憾,比赛的时候草草的看了一眼以为是有什么我不知道的黑魔法可以实现修改 canary 就放弃了,并没有看出漏洞点(说起来这个洞应该挺明显的,没看出来也是挺奇怪的,可能是被概率论期中考弄坏脑子了)。
…一些没完成的题目
近期参加了一些比赛,积累了一些没做出来的题,个别题感觉本身也没啥意思,还有一些,由于各种原因,可能无法完全复现,这里简单记录一下思路。
hello_jerry
jerry pwn 碰到了许多次了,之前一直没有相关的 wp,再加上 js 解释器相关的 pwn 确实没接触过。这道题应该是比较入门的,相比起别的只给个 bin 的题,至少给了 patch,就是在 array 的 shift 方法执行后多删一个节点,造成数组的 out-of-bound,可以对整个 jerry_heap 进行读写。不过 jerryscript 的几个特点造成较难编写 exp
…