我们已经分析了一系列针对后端应用程序组件的攻击,了解到确定并利用每一种漏洞所需采取的实际步骤。许多现实世界的漏洞,使用应用程序后立即就会发现,例如,通过在搜索框中输入异常语法进行搜索。另外,这些漏洞可能隐藏得非常深,极少给应用程序造成可以检测的行为差异,也无法通过提交并操纵专门设计的输入的多阶段过程发现。
要确定应用程序中存在的后端注入缺陷,需要进行耐心仔细的检测。实际上,几乎每一种注入缺陷都会在处理用户提交的数据过程中表露出来,这些数据包括查询字符串参数的名称与值、POST数据、cookie以及其他HTTP消息头。许多时候,只有在全面探查了相关参数,明确了解应用程序对输入执行了何种类型的处理,并排除测试过程中的障碍后,漏洞才会显露出来。
面对后端应用程序组件的攻击造成了大量潜在的受攻击面,渗透测试员可能觉得对应用程序实施任何严重的攻击都必须付出巨大的努力。然而,从很大程度上讲,实施有效攻击需要从直觉上了解漏洞的位置,以及如何对其加以利用。获得这种直觉的唯一途径是进行实践,针对在现实中遇到的应用程序演练前面描述的技巧,并观察它们如何应对这些攻击。