今日播报!UAF(use after free)
2023-07-05 00:33:44
哔哩哔哩
1、漏洞简述:
当一个内存块被释放之后再次使用而造成的漏洞,这里主要涉及到一下这几种状态:
(资料图)
》内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。
》 内存块被释放后,其对应的指针没有被设置为 NULL ,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可能可以正常运转。
》 内存块被释放后,其对应的指针没有被设置为 NULL,但是在它下一次使用之前,有代码对这块内存进行了修改,那么当程序再次使用这块内存时,就很有可能会出现奇怪的问题。
2、这里我们指的UAF漏洞一般是说的后面两种,这种被释放之后没有被设置为null的内存指针成为dangling pointer
3、一般来说我们的UAF漏洞都会涉及到增,删,查这几个功能
并且UAF集中体现在删这一步,只是单纯的进行了free,但是没有设置为null值
一个大体上的思路与这个的总结示意:
(存个疑问,看的ctfwiki的例题,没有想明白为什么存入的size可以是32位,反汇编代码给的是8u啊?指定嘛?)
大概就这样,小小的一步,虽然感觉现阶段UAF还没和堆溢出联系上就是了。