毛病的复杂性分布非常广。一方面,有很多毛病非常简单与直观,并且利用代码一目了然,比如说经典的sql注入。另一方面,在系统中有的看似并不相关,并且就其自身而言并非不安全,但是当这些东西以一种特定的方式结合起来的时间,就有可能引发大的毛病,比如说条件竞争,或者一些其他的复杂的逻辑毛病。可以尝试将这些毛病按照复杂级别分为“一级毛病”和“二级毛病”,不过也有其他分类方法。引用一局来自Project Zero的Ben Hawkes说过的一句话: Themodern exploit is not a single shot vulnerability anymore. They tend to be achain of vulnerabilities that add up to a full-system compromise. 如今想要完成一个完备的利用,只靠单一的毛病通常行不通。很多时间我们必要靠一连串的毛病才气完成一起完备的利用,致使系统“妥协”。
团队工作