如果您将评估应用程序作为渗透测试的一部分,您将如何处理损坏的站点功能?这些问题应该被忽略吗?
在系统中保留功能性错误是否安全?
如果您将评估应用程序作为渗透测试的一部分,您将如何处理损坏的站点功能?这些问题应该被忽略吗?
在系统中保留功能性错误是否安全?
Web 应用程序中损坏的功能本身并不是安全威胁,但它们可能是其中之一。作为渗透测试人员,请注意:
由于每一行代码(以及因此每个功能,无论是否有效)都会增加应用程序的攻击面,因此客户端应避免将(部分)损坏的功能部署到其服务器。
如果应用程序缺乏要求,例如:应该有一个密码重置选项,那么你能做的最好的就是将这个报告给你的客户,但这肯定不是你的工作。
当应用程序满足此阶段的要求并准备好生产时,您发现的任何东西都是漏洞,应该在发布前进行修补。
如果您在早期开发阶段(开发分支)帮助进行漏洞分析,您应该尽快进行干预,以防止在削弱的基础上进一步开发。
真的很大程度上取决于您遇到的功能错误的种类。两个例子
1)应用程序应该显示一些带有附加数据的模块或面板,但这没有出现。本身很可能是良性的,尽管任何地方的问题都可能表明不相关的安全问题的可能性更高。毕竟,如果编码人员甚至无法在可见的功能需求方面保持高标准,那么对于业务不可见的安全性等需求,他们的标准会是怎样的呢?
2) 当用户在在线表单中输入 %*^&#$ 时,会出现数据库错误。这可能需要进一步调查,并可能表明缺乏验证或输入清理的危险。
我要补充一点,每当应用程序崩溃或以意外方式运行时,这是因为应用程序已进入无法预料(通常是未定义、不可预测)的状态。这并不一定会增加攻击面,但是它变得不可预测的事实意味着(从所有意图和目的来看)攻击面已经有效地增加,直到获得有关其行为的更深入了解并且更好地理解问题的含义。