[ 首页 ] [ 渗透测试 ] [ 黑客接单 ] [ 黑客技术 ] [ 黑客论坛 ] [ 黑客松 ]



标题 : 应用程序安全性:完整指南
日期 : 2023-07-25

什么是应用程序安全性?

应用程序安全旨在保护软件应用程序代码和数据免受网络威胁。您可以而且应该在开发的所有阶段(包括设计、开发和部署)应用应用程序安全性。

以下是在整个软件开发生命周期 (SDLC) 中提升应用程序安全性的几种方法:

  • 在设计和应用程序开发阶段引入安全标准和工具。例如,在早期开发期间包括漏洞扫描。
  • 实施安全程序和系统来保护生产环境中的应用程序。例如,执行持续的安全测试。
  • 为包含敏感数据或关键任务的应用程序实施强身份验证。
  • 使用防火墙、Web 应用程序防火墙 (WAF) 和入侵防御系统 (IPS) 等安全系统。

现代组织需要保护哪些类型的应用程序?

网络应用安全

Web 应用程序是在 Web 服务器上运行并可通过 Internet 访问的软件。客户端在网络浏览器中运行。本质上,应用程序必须通过不安全的网络接受来自客户端的连接。这使他们面临一系列漏洞。许多 Web 应用程序都是业务关键型应用程序,并且包含敏感的客户数据,这使它们成为攻击者的宝贵目标,并且是任何网络安全计划的高度优先级。

互联网的发展解决了一些 Web 应用程序漏洞,例如 HTTPS 的引入,它创建了一个加密的通信通道,可以防止中间人 (MitM) 攻击。然而,仍然存在许多漏洞。开放 Web 应用程序安全项目 (OWASP) 以 OWASP Top 10 的形式记录了最严重和常见的漏洞。

由于Web应用程序安全问题日益严重,许多安全厂商推出了专门为保护Web应用程序而设计的解决方案。示例包括 Web 应用程序防火墙 (WAF),这是一种旨在检测和阻止应用程序层攻击的安全工具。

在我们的网站安全详细指南中了解更多信息

API安全

应用程序编程接口 (API) 的重要性日益增长。它们是现代微服务应用程序的基础,并且整个 API 经济已经出现,它允许组织共享数据并访问其他人创建的软件功能。这意味着 API 安全对于现代组织至关重要。

存在安全漏洞的 API 是重大数据泄露的原因。它们可能会暴露敏感数据并导致关键业务运营中断。API 的常见安全弱点是身份验证薄弱、不必要的数据泄露以及无法执行速率限制,从而导致 API 滥用。

与 Web 应用程序安全一样,对 API 安全的需求导致了专门工具的开发,这些工具可以识别 API 中的漏洞并保护生产中的 API。

在[ API 安全]详细指南中了解更多信息

云原生应用安全

云原生应用程序是使用虚拟机、容器和无服务器平台等技术在微服务架构中构建的应用程序。云原生安全是一项复杂的挑战,因为云原生应用程序有大量的移动部件,并且组件往往是短暂的——经常被拆除并被其他组件替换。这使得很难获得云原生环境的可见性并确保所有组件的安全。

在云原生应用程序中,基础设施和环境通常是根据声明性配置自动设置的,这称为基础设施即代码 (IaC)。开发人员负责构建声明性配置和应用程序代码,两者都应受到安全考虑。左移在云原生环境中更为重要,因为几乎所有事情都是在开发阶段决定的。

云原生应用程序可以从传统的测试工具中受益,但这些工具还不够。需要专用的云原生安全工具,能够检测容器、容器集群和无服务器功能,报告安全问题,并为开发人员提供快速反馈循环。

云原生安全性的另一个重要方面是在开发生命周期的所有阶段自动扫描所有工件。最重要的是,组织必须在开发过程的所有阶段扫描容器镜像。

在详细指南中了解更多信息:

  • 容器化架构
  • 无服务器架构

应用程序安全风险

Web 应用程序安全风险:OWASP Top 10

软件应用程序可能会受到多种威胁的影响。开放 Web 应用程序安全项目 (OWASP) 十大列表包括最有可能影响生产中的应用程序的关键应用程序威胁。

访问控制损坏

损坏的访问控制允许威胁和用户获得未经授权的访问和特权。以下是最常见的问题:

  • 它使攻击者能够未经授权访问用户帐户并充当管理员或普通用户。
  • 它为用户提供未经授权的特权功能。

您可以通过实施强大的访问机制来修复此问题,以确保每个角色都通过隔离的权限进行明确定义。

加密失败

当数据在传输和静态时未得到适当保护时,就会发生加密故障(以前称为“敏感数据泄露”)。它可能会泄露密码、健康记录、信用卡号和个人数据。

此应用程序安全风险可能导致不遵守数据隐私法规,例如欧盟通用数据保护法规 (GDPR) 和 PCI 数据安全标准 (PCI DSS) 等财务标准。

注入(包括XSS、LFI和SQL注入)

注入漏洞使威胁行为者能够将恶意数据发送到 Web 应用程序解释器。它可以使这些数据在服务器上被编译和执行。SQL注入是一种常见的注入形式。

在详细指南中了解更多信息:

  • 跨站脚本 (XSS)
  • 本地文件注入(LFI)
  • SQL注入(SQLi)
  • 跨站请求伪造 (CSRF)

不安全的设计

不安全的设计涵盖了由于安全控制无效或缺失而出现的许多应用程序弱点。不具备能够抵御严重威胁的基本安全控制的应用程序。虽然您可以通过安全设计修复应用程序中的实施缺陷,但不可能通过正确的配置或补救措施来修复不安全的设计。

安全配置错误(包括 XXE)

由于整个应用程序堆栈缺乏安全强化,导致安全配置错误。以下是常见的安全错误配置:

  • 云服务权限配置不当
  • 启用或安装不需要的功能
  • 使用默认密码或管理员帐户
  • XML 外部实体 (XXE) 漏洞

在[XML 外部实体 (XXE)]详细指南中了解更多信息

易受攻击和过时的组件

易受攻击和过时的组件(以前称为“使用具有已知漏洞的组件”)包括由过时或不受支持的软件导致的任何漏洞。当您在事先不了解应用程序的内部组件和版本的情况下构建或使用应用程序时,可能会发生这种情况。

身份验证失败

识别和身份验证失败(以前称为“身份验证失效”)包括与用户身份相关的任何安全问题。您可以通过建立安全会话管理并为所有身份设置身份验证和验证来防止身份攻击和漏洞利用。

软件和数据完整性故障

当基础设施和代码容易受到完整性破坏时,就会发生软件和数据完整性故障。它可能发生在软件更新、敏感数据修改以及任何未经验证的 CI/CD 管道更改期间。不安全的 CI/CD 管道可能会导致未经授权的访问并导致供应链攻击。

安全日志记录和监控故障

当应用程序弱点无法正确检测和响应安全风险时,就会发生安全日志记录和监控失败(以前称为“日志记录和监控不足”)。日志记录和监控对于检测违规行为至关重要。当这些机制不起作用时,它会阻碍应用程序的可见性并损害警报和取证。

服务器端请求伪造

当 Web 应用程序在从远程资源提取数据之前未验证用户输入的 URL 时,就会出现服务器端请求伪造 (SSRF) 漏洞。它可能会影响受防火墙保护的服务器和任何不验证 URL 的网络访问控制列表(ACL)。

在[SSRF]详细指南中了解更多信息

在我们的网络攻击指南中了解其他网络威胁

API 安全风险:OWASP Top 10

API 支持不同软件之间的通信。具有 API 的应用程序允许外部客户端向应用程序请求服务。API 面临各种威胁和漏洞。OWASP编制了一份列表,对十大 API 安全风险进行了优先排序。

对象级授权被破坏

API 通常公开处理对象标识符的端点。它造成了更广泛的攻击面级别访问控制问题。相反,您应该检查每个可以通过用户输入访问数据源的函数中的对象级别授权。

用户身份验证被破坏

错误实施的身份验证机制可能会向恶意行为者授予未经授权的访问权限。它使攻击者能够利用实施缺陷或破坏身份验证令牌。一旦发生,攻击者就可以永久或暂时假设合法的用户身份。结果,系统识别客户端或用户的能力受到损害,从而威胁到应用程序的整体 API 安全。

过多的数据暴露

通用实现通常会导致所有对象属性的暴露,而不考虑每个对象的个体敏感性。当开发人员依赖客户端在向用户显示信息之前执行数据过滤时,就会发生这种情况。

缺乏资源和速率限制

API 通常不会对允许客户端或用户请求的资源数量或大小施加限制。但是,此问题可能会影响 API 服务器的性能并导致拒绝服务(DoS)。此外,它还可能造成身份验证缺陷,从而引发暴力攻击。

功能级别授权被破坏

授权缺陷使攻击者能够未经授权访问合法用户的资源或获得管理权限。它可能是由于基于不同层次结构、角色、组的过于复杂的访问控制策略以及常规功能和管理功能之间的不明确划分而导致的。

批量分配

批量分配通常是由于客户端提供的数据(例如 JSON)不正确地绑定到数据模型而导致的。当绑定发生而没有使用基于白名单的属性过滤时,就会发生这种情况。它使攻击者能够猜测对象属性、阅读文档、探索其他 API 端点或提供其他对象属性来请求有效负载。

安全配置错误

安全配置错误通常是由于以下原因发生的:

  • 不安全的默认配置
  • 开放云存储
  • 临时或不完整的配置
  • HTTP 标头配置错误
  • 允许的跨域资源共享 (CORS)
  • 不必要的 HTTP 方法
  • 包含敏感信息的详细错误消息

注射

当查询或命令向解释器发送不受信任的数据时,就会出现命令注入、SQL 和NoSQL注入等注入缺陷。通常是恶意数据试图欺骗解释器提供未经授权的数据访问或执行非预期命令。

资产管理不当

API 通常比传统 Web 应用程序公开更多端点。API 的这种性质意味着正确且更新的文档对于安全性至关重要。此外,正确的主机和已部署的 API 版本清单可以帮助缓解与公开的调试端点和已弃用的 API 版本相关的问题。

日志记录和监控不足

日志记录和监控不足会使威胁行为者升级攻击,尤其是在与事件响应集成无效或没有集成的情况下。它允许恶意行为者保持持久性并转向其他系统,在这些系统中提取、破坏或篡改数据。

什么是应用程序安全测试?

应用程序安全测试 (AST) 是通过识别和修复安全漏洞来提高应用程序抵御安全威胁的过程。

最初,AST 是一个手动过程。在现代高速开发流程中,AST 必须实现自动化。企业软件模块化程度的提高、众多开源组件以及大量已知漏洞和威胁向量都使得自动化变得至关重要。大多数组织使用应用程序安全工具的组合来执行 AST。

测试应用程序之前的关键考虑因素

在正确测试应用程序的安全漏洞之前,需要考虑以下关键因素:

  • 创建应用程序的完整清单。
  • 了解应用程序的业务用途、影响和敏感性。
  • 确定要测试哪些应用程序 – 从面向公众的系统(例如 Web 和移动应用程序)开始。

如何测试

在成功测试应用程序的安全漏洞之前,您必须确定以下参数:

  • 经过身份验证的测试与未经身份验证的测试– 您可以从局外人的角度测试应用程序(黑盒方法)。然而,执行经过身份验证的测试有很多价值,可以发现影响经过身份验证的用户的安全问题。这可以帮助发现 SQL 注入和会话操纵等漏洞。
  • 使用哪些工具——理想情况下,测试应该涉及可以识别源代码中的漏洞的工具、可以在运行时测试应用程序是否存在安全漏洞的工具以及网络漏洞扫描器。
  • 测试生产与登台——生产中的测试很重要,因为它可以识别当前威胁组织及其客户的安全问题。但是,生产测试可能会对性能产生影响。分阶段测试更容易实现,并且可以更快地修复漏洞。
  • 测试时是否禁用安全系统——对于大多数安全测试,最好禁用防火墙、Web应用程序防火墙(WAF)和入侵防御系统(IPS),或者至少将测试工具的IP列入白名单,否则工具可能会干扰扫描。然而,在完整的渗透测试中,应该保留工具,目标是扫描应用程序,同时避免检测。
  • 何时进行测试 –通常建议在关闭期间执行安全测试,以避免对生产应用程序的性能和可靠性产生影响。
  • 报告内容 —许多安全工具提供与其特定测试领域相关的非常详细的报告,并且非安全专家无法使用这些报告。安全团队应该从自动化报告中提取最相关的见解,并以有意义的方式向利益相关者呈现它们。
  • 验证测试——安全测试的一个关键部分是验证补救措施是否成功完成。开发人员仅仅说补救措施已修复是不够的。您必须重新运行测试并确保漏洞不再存在,或者以其他方式向开发人员提供反馈。

在详细指南中了解更多信息:

  • 安全测试
  • 依赖管理
  • 软件开发生命周期 (SDLC)

应用程序安全测试的类型

应用程序安全测试主要分为三种类型:

黑盒安全测试

在黑盒测试中,测试系统无法访问被测系统的内部结构。这是外部攻击者的视角。测试工具或人工测试人员必须执行侦察来识别正在测试的系统并发现漏洞。黑盒测试非常有价值,但还不够,因为它无法测试应用程序的潜在安全弱点。

在[黑盒测试]详细指南中了解更多信息

白盒安全测试

在白盒测试中,测试系统可以完全访问被测应用程序的内部结构。一个典型的例子是静态代码分析,其中测试工具可以直接访问应用程序的源代码。白盒测试可以识别业务逻辑漏洞、代码质量问题、安全错误配置和不安全的编码实践。白盒测试还可以包括动态测试,它利用模糊测试技术来测试应用程序中的不同路径并发现意外的漏洞。白盒方法的缺点是并非所有这些漏洞都可以在生产环境中真正利用。

在[白盒测试]详细指南中了解更多信息

灰盒安全测试

在灰盒测试中,测试系统只能访问有关被测应用程序内部的有限信息。例如,可能会向测试人员提供登录凭据,以便他们可以从登录用户的角度测试应用程序。灰盒测试可以帮助了解特权用户拥有什么级别的访问权限,以及如果帐户遭到泄露他们可能造成的损害程度。灰盒测试可以模拟内部威胁或已经突破网络边界的攻击者。灰盒测试被认为是非常高效的,在黑盒和白盒方法之间取得了平衡。

在灰盒测试详细指南中了解更多信息

应用程序安全工具和解决方案

Web 应用程序防火墙 (WAF)

WAF 监视并过滤在 Web 应用程序和 Internet 之间传递的 HTTP 流量。WAF 技术并不能涵盖所有威胁,但可以与一套安全工具配合使用,针对各种攻击媒介创建整体防御。

在开放系统互连 (OSI) 模型中,WAF 作为协议第七层防御,帮助保护 Web 应用程序免受跨站点脚本 (XSS)、跨站点伪造、SQL 注入和文件包含等攻击。

与通过中介保护客户端计算机身份的代理服务器不同,WAF 的工作方式类似于反向代理,可保护服务器免遭泄露。WAF 充当 Web 应用程序前面的屏障,保护其免受 Internet 的影响 — 客户端在到达服务器之前先通过 WAF。

了解有关 Imperva Web 应用程序防火墙的更多信息

运行时应用程序自我保护 (RASP)

RASP技术可以在运行时分析用户行为和应用程序流量。它旨在通过了解应用程序源代码并分析漏洞和弱点来帮助检测和预防网络威胁。

RASP 工具可以识别已被利用的安全漏洞、终止这些会话并发出警报以提供主动保护。

了解有关 Imperva运行时应用程序自我保护的更多信息

软件成分分析(SCA)

SCA 工具创建软件产品中使用的第三方开源和商业组件的清单。它有助于了解哪些组件和版本正在被积极使用,并识别影响这些组件的严重安全漏洞。

组织使用 SCA 工具来查找可能包含安全漏洞的第三方组件。

了解有关软件构成分析 (SCA)的更多信息

静态应用程序安全测试 (SAST)

SAST 工具协助白盒测试人员检查应用程序的内部运作。它涉及检查静态源代码并报告已识别的安全漏洞。

SAST 可以帮助查找问题,例如语法错误、输入验证问题、无效或不安全的引用或未编译代码中的数学错误。您可以使用二进制和字节码分析器将 SAST 应用于编译的代码。

了解更多[先科]

动态应用程序安全测试 (DAST)

DAST 工具协助黑盒测试人员执行代码并在运行时检查它。它有助于检测可能代表安全漏洞的问题。组织使用 DAST 进行大规模扫描,模拟多个恶意或意外测试用例。这些测试提供有关应用程序响应的报告。

DAST 可以帮助识别查询字符串、脚本的使用、请求和响应、内存泄漏、身份验证、cookie 和会话处理、第三方组件的执行、DOM 注入和数据注入等问题。

了解有关DAST的更多信息

交互式应用程序安全测试 (IAST)

IAST 工具采用 SAST 和 DAST 技术和工具来检测更广泛的安全问题。这些工具动态运行以在运行时检查软件。它从应用程序服务器内部发生,以检查编译的源代码。

IAST 工具可以提供有关漏洞根本原因的信息并识别受影响代码的特定行,从而使修复变得更加容易。这些工具可以分析数据流、源代码、配置和第三方库。您还可以使用 IAST 工具进行 API 测试。

了解有关IAST 的更多信息

移动应用程序安全测试 (MAST)

MAST 工具采用各种技术来测试移动应用程序的安全性。它涉及使用静态和动态分析以及调查移动应用程序收集的取证数据。

组织使用 MAST 工具来检查安全漏洞和移动特定问题,例如越狱、移动设备数据泄露和恶意 WiFi 网络。

国家应用程序协会

云原生应用程序保护平台 (CNAPP) 为保护云原生应用程序所需的工具提供集中控制面板。它将云工作负载保护平台 (CWPP) 和云安全态势管理 (CSPM) 与其他功能相结合。

CNAPP 技术通常包含身份权限管理、API 发现和保护以及 Kubernetes 等容器编排平台的自动化和编排安全性。

应用程序安全最佳实践

以下是一些可以帮助您更有效地实践应用程序安全性的最佳实践。

执行威胁评估

拥有要保护的敏感资产列表可以帮助您了解组织面临的威胁以及如何缓解这些威胁。考虑黑客可以使用哪些方法来破坏应用程序,是否存在现有的安全措施,以及您是否需要其他工具或防御措施。

对您的安全期望保持现实也很重要。即使有最高级别的保护,也没有什么是不可能被黑客入侵的。您还需要诚实地说明您认为您的团队可以长期维持的东西。如果你太用力,安全标准和实践可能会被忽视。请记住,安全是一项长期工作,您需要其他员工和客户的合作。

安全左移

公司正在从每年发布产品过渡到每月、每周或每日发布。为了适应这种变化,安全测试必须成为开发周期的一部分,而不是事后添加。这样,安全测试就不会妨碍您发布产品。

在进行这些更改之前,第一步是帮助安全人员了解开发流程并在安全和开发团队之间建立关系。安全人员需要学习开发人员使用的工具和流程,以便能够将安全有机地结合起来。当安全性无缝集成到开发过程中时,开发人员更有可能接受它并建立信任。

您还需要找到一种方法来自动化 CI/CD 管道的安全测试。将自动化安全工具集成到 CI/CD 管道中,使开发人员能够在引入相关更改后短时间内快速修复问题。

在左移测试详细指南中了解更多信息

优先考虑您的修复操作

漏洞不断增加,开发人员发现很难解决所有问题的修复问题。考虑到手头任务的规模,优先级对于想要保证应用程序安全的团队至关重要。

有效的优先级划分需要根据漏洞的严重性进行威胁评估——使用 CVSS 评级和其他标准,例如受影响应用程序的操作重要性。当涉及到开源漏洞时,您需要了解专有代码是否实际上使用了开源组件的易受攻击的功能。如果您的产品从未调用易受攻击组件的功能,那么其​​ CVSS 评级很重要,但没有影响,也没有风险。

衡量应用程序安全结果

衡量和报告应用程序安全计划的成功非常重要。确定对关键决策者最重要的指标,并以易于理解和可操作的方式呈现它们,以获得您的计划的支持。

在早期阶段向高管提供太多指标可能会让人不知所措,而且坦率地说是没有必要的。主要目标是表明应用程序安全计划如何符合内部策略,并显示在减少漏洞和风险以及提高应用程序弹性方面的影响。

管理权限

限制权限非常重要,特别是对于任务关键型和敏感系统。应用程序安全最佳实践将应用程序和数据的访问权限限制在需要的人需要时,这称为最小权限原则。最小特权至关重要,原因有二:

  • 黑客可能会危害权限较低的帐户,因此确保他们无法访问敏感系统非常重要。
  • 内部威胁与外部攻击者一样危险。如果内部人员变坏,重要的是要确保他们永远不会拥有超过应有的特权,从而限制他们可能造成的损害。

Imperva 的应用程序安全

Imperva 为应用程序、API 和微服务提供全面的保护:

Web 应用程序防火墙– 通过对应用程序的 Web 流量进行世界一流的分析来防止攻击。

运行时应用程序自我保护 (RASP) – 无论您的应用程序位于何处,都可以从应用程序运行时环境进行实时攻击检测和预防。阻止外部攻击和注入并减少漏洞积压。

API 安全– 自动 API 保护可确保您的 API 端点在发布时受到保护,从而保护您的应用程序免遭利用。

高级机器人防护– 防止来自所有访问点(网站、移动应用程序和 API)的业务逻辑攻击。获得对机器人流量的无缝可见性和控制,以阻止通过帐户接管或有竞争力的价格抓取来阻止在线欺诈。

DDoS 防护– 在边缘阻止攻击流量,以确保业务连续性,并保证正常运行时间且不会影响性能。保护您的本地或基于云的资产 – 无论您托管在 AWS、Microsoft Azure 还是 Google 公共云中。

攻击分析– 通过机器学习和整个应用程序安全堆栈的领域专业知识确保完整的可见性,以揭示噪音模式并检测应用程序攻击,使您能够隔离和防止攻击活动。

客户端保护– 获得对第三方 JavaScript 代码的可见性和控制,以降低供应链欺诈的风险,防止数据泄露和客户端攻击。

请参阅有关关键应用程序安全主题的其他指南

网站安全作者:因帕瓦了解如何保护关键网站和 Web 应用程序免受网络威胁。什么是会话劫持?什么是点击劫持?什么是网站篡改攻击?网络攻击作者:因帕瓦了解最常见的网络攻击以及如何预防它们。什么是勒索软件:攻击类型、保护和删除什么是特洛伊病毒:特洛伊木马恶意软件什么是社会工程:攻击技术和预防方法
科学技术协会作者: 蒙德了解静态应用程序安全测试 (SAST) 工具,它有助于查找和修复源代码中的漏洞。SAST:关于静态应用程序安全测试SAST 与 SCA:7 个主要差异安全测试作者:光明安全了解现代应用程序和微服务的安全测试技术和最佳实践。应用程序安全测试:3 种类型和 4 种安全解决方案动态应用程序安全测试 (DAST):终极指南 [2022]微服务安全的 5 大挑战
API安全作者:光明安全了解如何保护应用程序编程接口 (API) 及其敏感数据免受网络威胁。您必须了解的 12 个 API 安全最佳实践六大 API 安全测试工具及如何选择WS-Security:足以保护您的 SOAP Web 服务吗?跨站脚本攻击作者:光明安全了解跨站点脚本 (XSS) 攻击,该攻击允许黑客将恶意代码注入访问者浏览器XSS 攻击:3 个现实生活中的攻击和代码示例基于 DOM 的 XSS 攻击如何运作XSS 漏洞终极初学者指南
XXE作者:光明安全了解利用 Web 应用程序 XML 解析器中的漏洞进行 XML 外部实体 (XXE) 攻击。XXE 攻击:现实生活中的攻击和代码示例XXE 漏洞:您需要了解的有关 XXE 的一切XXE 预防:XML 外部实体 (XXE) 攻击以及如何避免它们CSRF作者:光明安全了解跨站点请求伪造 (CSRF) 攻击,这种攻击会劫持经过身份验证的连接以执行未经授权的操作。CSRF 令牌:什么是 CSRF 令牌以及它如何工作?CSRF 攻击:现实生活中的攻击和代码演练CSRF 与 XSS:它们有何相同点和不同点
线性FI作者:光明安全了解本地文件注入 (LFI) 攻击,该攻击允许黑客在远程服务器上运行恶意代码。文件包含漏洞:它们是什么以及它们如何工作?LFI 攻击:现实生活中的攻击和攻击示例SDLC作者: 蒙德了解软件开发生命周期 (SDLC) 以及如何将安全性集成到 SDLC 的所有阶段。如何以正确的方式保护您的 SDLC如何正确平衡安全和敏捷开发
依赖管理作者: 蒙德了解开源应用程序中的依赖关系及其对应用程序安全性的影响。如何管理 Python 依赖项如何管理 Python 依赖项如何使用 Composer 管理 PHP 依赖项OWASP作者:黑客一OWASP 十大 Web 应用程序安全风险OWASP ZAP:6 个关键功能和快速教程 
其他应用程序安全资源2022 年安全编码最佳实践