验证功能可能是应用程序受攻击面中的首要目标。并无特权的匿名用户可直接访问该功能;如果攻击者破坏了该功能,就可以访问受到保护的功能和敏感数据。验证功能是应用程序安全防御机制的核心,也是防御未授权访问的前沿阵地。
现实中的验证机制存在着大量的设计与执行缺陷。使用系统化的方法尝试各种攻击途径,即可对这些缺陷发起全面有效的攻击。许多时候,攻击目标显而易见,如保密性不强的密码、发现用户名的方法和蛮力攻击漏洞。另一方面,有些缺陷隐藏得很深,需要对复杂的登录过程进行仔细的分析才能发现可供利用以“敲开应用程序大门”的细微逻辑缺陷。
“四处查探”是攻击验证功能最常用的方法。除主登录表单外,可能还包括注册新账户、修改密码、记住密码、恢复遗忘的密码与伪装其他用户等功能。以上每一种功能都可能成为潜在缺陷的主要来源,在一项功能中特意避免的问题往往又会在其他功能中重新出现。花费一些时间仔细检查所能发现的每一个受攻击面,应用程序验证机制的安全性将会得到显著增强。