沙箱逃逸之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