按照漏洞的形成原因,漏洞大体上可以分为程序逻辑结构漏洞、程序设计错误漏洞、开放式协议造成的漏洞和人为因素造成的漏洞。
按照漏洞被人掌握的情况,漏洞又可以分为已知漏洞、未知漏洞和0day等几种类型。
程序逻辑结构漏洞
这种类型的漏洞有可能是编程人员在编写程序时,因为程序的逻辑设计不合理或者错误而造成的程序逻辑漏洞。这种类型的漏洞最典型的要数微软的Windows 2000用户登录的中文输入法漏洞。非授权人员可以通过登录界面的输入法的帮助文件绕过Windows的用户名和密码验证而取的计算机的最高权限。
这种类型的漏洞也有可能是合法的程序用途被黑客利用去做不正当的用途。这种类型的漏洞最典型的就是后面案例中提到的Winrar