多个值得关注的开源免费安全漏扫工具,来自https://www.javacodegeeks.com/2019/04/microservices-for-java-developers-security-testing-scanning.html,重点提到如下开源安全漏扫工具:
1)find security bug
这个是一个结合在各类IDE得findbug插件得其中一个可谓“子插件”了,必须在IDE中先安装了findbug,
地址在:http://find-sec-bugs.github.io/,
2)Zed Attack Proxy - Web应用程序渗透测试工具
Zed Attack Proxy (ZAP)是一个易于使用的、用于查找Web应用程序漏洞的渗透测试工具。ZAP是为具有丰富安全经验的人员设计的,同时,也是渗透测试新手用于开发和功能测试的最佳工具。ZAP提供了自动化的扫描工具,而且也提供一系列工具用于手动寻找安全漏洞。 地址在:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
3) Archery:开源漏洞扫描平台
Archery是一款开源的漏洞评估和管理工具,它可以帮助开发和渗透测试人员执行漏洞扫描及管理漏洞。Archery使用流行的开源工具来执行对Web应用及网络的全面扫描。它还可执行Web应用程序动态验证扫描,并使用selenium覆盖整个应用程序。开发人员也可以使用该工具来实现其DevOps CI/CD环境。
工具概述 使用开源工具执行Web和网络漏洞扫描。 关联和协作所有原始扫描数据,并最终以合并的方式展示它们。 执行Web应用程序验证扫描。 使用selenium执行Web应用程序扫描。 漏洞管理。 支持通过REST API来执行扫描和漏洞管理。 适用于DevOps团队的漏洞管理。
地址:https://github.com/archerysec/archerysec
4) SAP开源的静态代码扫描工具
https://github.com/SAP/vulnerability-assessment-tool
SAP 发布了 Vulnerability Assessment Tool
的源代码,这是一个软件组合分析(SCA)工具,已经在内部测试了两年,对 600 多个项目进行了 20,000 次扫描。
Vulnerability Assessment Tool 侧重于检测脆弱的组件,如 OWASP-Top 10 2017 A9
所述的那些。这个工具会扫描软件包中的直接依赖项和间接依赖项,然后将每个依赖项与已知源(如 国家漏洞数据库
或 CVE 列表)进行比较,确定每个软件包是否存在已知的漏洞。在开发过程中,这些知识可以告诉开发人员何时应该升级某些组件。在运营期间,当发现新的漏洞时,可以使用这些信息来定位需要采取行动的应用程序。
2017 年,Equifax 未能对 Apache Struts 及时打上 CVE-2017-9805
补丁导致数据泄露,自从这次事件之后,SCA 就成了软件行业的关键一环。这次数据泄露事件总共丢失了 1.43 亿条记录,预计总损失超过 6 亿美元。Apache 软件基金会先前发布了“ Apache Struts 有关 Equifax 数据泄露的声明
”,其中就提到了一些 Vulnerability Assessment Tool 需要解决的问题,例如:
了解软件产品中使用了哪些支持框架和库,以及它们的版本,并跟踪影响这些产品和版本的安全公告。
建立一个流程,以便在需要更新支持框架或库时可以快速推出软件产品的安全补丁。最好是以小时或几天为单位,而不是几周或几个月。我们所知道的大多数漏洞都是由于没有更新软件组件造成的,而这些组件在数月甚至数年内都是已知的易受攻击源。
SAP 的新工具不仅仅是列出文件,它还会执行一定级别的静态代码安全性测试(SAST),以评估每个组件的使用情况。这是为了在可能存在脆弱但不在使用中的组件的情况下最小化误报。例如,一个工具将 JRE 本身标记为容易受到 applet 漏洞攻击,比如 CVE-2016-0636
,但 JRE 主要用于服务器端,applet 从未被使用。
很多组织都会执行静态代码分析,作为在发布前检测代码级别漏洞的安全措施。具体来说, PCI 安全软件标准
的 8.4.b 章节和 NIST 800-53 的 SA-4 章节
提到了代码审查,以及其他分析代码的检测机制,比如二进制分析。另一个选项是通过集成应用程序安全性测试(IAST)持续监控应用程序行为。
项目文档解释了安全测试静态分析领域的几个限制。具体来说,它提到了对非静态信息(如 Java 9 的多 JAR
)缺少支持。这个 Java 特性提供具有相同名称空间的多个类文件,JRE 会在运行时选择适当的类和行为。在静态上下文中,如果没有运行时,有关此决策的信息将会丢失,因此分析程序必须选择所有路径,或者默认选择主类位置。SAP 的工具选择了后者,并为 Java 提供了一个类似于 IAST 的动态工具,以弥补静态安全分析的不足,并检测哪些文件被使用过。
5) XSStrike
地址:https://github.com/s0md3v/XSStrike
XSStrike是一款检测Cross Site Scripting的高级检测工具。它集成了payload生成器、爬虫和模糊引擎功能。XSStrike不是像其他工具那样注入有效负载并检查其工作,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效负载。除此之外,XSStrike还具有爬行,模糊测试,参数发现,WAF检测功能。它还会扫描DOM XSS漏洞。
两个不错的教程文章:https://www.zhangshengrong.com/p/AvN6KVWXmx/
http://www.kb-iot.com/post/879.html