沙箱逃逸之plaidctf 2020 mojo writeup
最近想看看chrome沙箱逃逸,从plaidctf 2020的mojo开始。
最近想看看chrome沙箱逃逸,从plaidctf 2020的mojo开始。
上一部分对afl-fuzz的总流程进行了概要性的阐述,接下来将会对关键的代码模块进行详细的分析。
共享内存就是多个进程间共同使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的虚空间中来实现的。由于映射到不同进程的虚拟地址空间中,不同进程可以直接使用,不需要进行内存的复制,所以共享内存的效率很高。
第一部分介绍了afl插桩编译的过程,思考了很久才定下第二部分写些什么。本来打算第二部分详细解释插桩部分和forkserver的代码的,但是感觉如果对afl-fuzz的整体流程没有大致掌握的话,直接去描述细节会让人不理解为什么afl这部分要这样去设计,因此决定在第二部分将afl-fuzz的主要流程(main)和部分不是关键代码的函数给说清楚,后续再逐步对关键代码模块进行详细分析,j继而实现对afl模糊测试的解析。
学习经典的fuzz框架AFL,通过源码的阅读学习fuzz,为以后针对特定目标进行模糊测试打下基础。
跟着afl-training学习afl