就漏洞用途而言,主要分为远程代码执行(RCE,Remote Code Execution)、权限提升(EoP,Elevation of Privilege)、拒绝服务(DoS,Denial of Service)、信息泄露(Information Disclosure)等,其中,RCE是用的最多的。对于具体的漏洞,其利用方式都有固定的套路,这实际上是一个攻与防不断的较量过程,从最初绕过各种保护(例如RCE中经典的Bypass ASLR+EIP获取+Stack Pivoting+ROP+Bypass DEP+Shellcode模式)到现今的RW primitives获取,并且随着安全防护措施的不断提升,很多时候需要漏洞组合才能达到利用的目的。而对漏洞研究人员,其发展大致可分为3个阶段:1)分析现有的公开漏洞及Exp;2)在分析现有公开漏洞的基础上写Exp;3)fuzzing漏洞并写Exp。因此,初学者可选择一些公开的漏洞和Exp进行分析,主要目的在于熟悉漏洞利用的套路,漏洞可以选择较为常见的浏览器漏洞或者文档型漏洞等,当然,其中有个问题就是漏洞可能比较早了,可以尝试翻译国外的最新漏洞分析文章来作为补充。