我想知道OWASP前十名(A1-A10)中哪些都可以自动化。是否可以使用Selenium实现测试自动化?如果不能,可以使用哪种工具实现自动化?还有任何可以遵循或参考的文件或指南或任何示例。
提前谢谢。
我想说:
- 注入:自动化非常有效
- Auth/Session管理:工具有帮助,但确实需要手动测试
- XSS:自动化非常有效
- IDOR:工具有帮助,但确实需要手动测试
- Sec配置错误:同上
- 数据暴露:可以通过手动验证在相当程度上实现自动化
- 缺少AC:元素可以自动化,但def需要大量的手动参与
- CSRF:自动化非常有效
- 与漏洞通信:自动化可能有效,但您需要问题静态+动态扫描
- Fwds和redir:自动化非常有效
发现安全漏洞很难,自动化应该被视为一种减少手动测试时间和精力的方法,而不是替换它。自动化测试的优点之一是,您可以在任何时候进行测试(例如作为CI/CD的一部分),而不是等到接近尾声时才将戊酯加入。
在任何情况下,手动验证使用自动化发现的任何潜在漏洞都很重要。
看看https://www.owasp.org/index.php/ZAPpingTheTop10重点介绍ZAP。自动化无疑是ZAP的重点(也是我们在Mozilla中使用它的关键方式之一),毫不奇怪,我建议使用它(我是ZAP项目负责人;)
有很多工具可以自动完成这项工作。
如果你问这个问题,你要么在安全方面没有足够的经验,要么在自动化方面没有足够经验。
了解安全性是一回事,编写一些有效的自动化场景是另一回事。您可以做的是自动化一些作为回归结果的特定场景。
出于安全目的,请使用现有工具扫描漏洞+手动测试和分析。
总之:是的,正如@psinon所说,你可以自动化,最好是进行自动扫描,但就手动实现而言,需要付出大量努力才能以有效的方式实现这一点,并具有良好的覆盖率。
确保你完全理解你试图自动化的内容,制定计划并进一步调查,看看有什么选择。还要检查是否有任何基于所用编程语言的相关安全库可供使用。