CISO助手
完成度
0%(0/286)
评估报告
OWAS

OWASP 应用程序安全验证标准 4.0.3

控制项模式

应用安全验证标准是一份应用安全需求或测试清单,可供架构师、开发人员、测试人员、安全专家、工具供应商和用户用来定义、构建、测试和验证安全应用程序。

版本: 4.0.3覆盖状态: 完整覆盖 (286/286)控制项/量表/总计: 286/0/286当前展示: 30 / 28614 个分类
V5.1.1该应用程序有针对 HTTP 参数污染攻击的防护,尤其是在应用程序框架不区分请求参数来源(GET、POST、Cookie、头信息或环境变量)的情况下。控制项
Validation / 输入验证

验证应用程序是否具备防御 HTTP 参数污染攻击的能力,尤其是在应用程序框架对请求参数的来源(GET、POST、cookie、头部或环境变量)不加区分时。

评估
评估状态:
评估备注:
V5.1.2框架可以防止大规模参数赋值攻击,或者应用程序有应对不安全参数赋值的措施,例如将字段标记为私有或类似处理控制项
Validation / 输入验证

确认框架能防止批量参数分配攻击,或者应用程序有相应的防护措施来防止不安全的参数分配,例如将字段标记为私有或采取类似措施。(C5)

评估
评估状态:
评估备注:
V5.1.3所有输入(HTML 表单字段、REST 请求、URL 参数、HTTP 头、Cookie、批处理文件、RSS 源等)都使用正向验证(允许列表)进行验证控制项
Validation / 输入验证

验证所有输入(HTML 表单字段、REST 请求、URL 参数、HTTP 头、Cookie、批处理文件、RSS 源等)是否使用正向验证(允许列表)进行验证。(C5)

评估
评估状态:
评估备注:
V5.1.4结构化数据是强类型的,并根据定义的模式进行验证,包括允许的字符、长度和模式控制项
Validation / 输入验证

验证结构化数据是否为强类型,并根据定义的模式进行验证,包括允许的字符、长度和模式(例如信用卡号码、电子邮件地址、电话号码,或验证两个相关字段是否合理,例如检查郊区和邮政编码是否匹配)。(C5)

评估
评估状态:
评估备注:
V5.1.5URL 重定向和转发只允许出现在允许列表中的目标,或者在重定向到可能不可信的内容时显示警告控制项
Validation / 输入验证

验证 URL 重定向和转发仅允许出现在允许列表中的目标,或在重定向到潜在不受信任的内容时显示警告。

评估
评估状态:
评估备注:
V5.2.1来自所见即所得编辑器或类似工具的所有不可信 HTML 输入都通过 HTML 消毒库或框架功能进行了适当的清理控制项
Validation / 清理与沙箱化

确认来自所见即所得编辑器或类似工具的所有不受信任的 HTML 输入已通过 HTML 消毒库或框架功能正确消毒。(C5)

评估
评估状态:
评估备注:
V5.2.2非结构化数据经过净化以执行安全措施,例如允许的字符和长度控制项
Validation / 清理与沙箱化

验证非结构化数据已被清理,以执行安全措施,例如允许的字符和长度。

评估
评估状态:
评估备注:
V5.2.3该应用在将用户输入传递到邮件系统之前会进行清理,以防止 SMTP 或 IMAP 注入控制项
Validation / 清理与沙箱化

验证应用程序在将用户输入传递给邮件系统之前是否进行了清理,以防止 SMTP 或 IMAP 注入。

评估
评估状态:
评估备注:
V5.2.4该应用程序避免使用 eval() 或其他动态代码执行功能控制项
Validation / 清理与沙箱化

确保应用程序避免使用 eval() 或其他动态代码执行功能。如果没有替代方案,任何包含的用户输入必须在执行前进行清理或沙箱处理。

评估
评估状态:
评估备注:
V5.2.5该应用通过确保任何被包含的用户输入都经过清理或沙箱处理,从而防止模板注入攻击。控制项
Validation / 清理与沙箱化

通过确保任何被包含的用户输入都经过清理或沙箱处理,来验证应用程序防护模板注入攻击的能力。

评估
评估状态:
评估备注:
V5.2.6该应用程序通过验证或清理不可信的数据或 HTTP 文件元数据(例如文件名和 URL 输入字段),并使用协议、域名、路径和端口的允许列表,从而防止 SSRF 攻击控制项
Validation / 清理与沙箱化

验证应用程序是否能够防护 SSRF 攻击,通过验证或清理不可信的数据或 HTTP 文件元数据,如文件名和 URL 输入字段,并使用协议、域名、路径和端口的允许列表。

评估
评估状态:
评估备注:
V5.2.7该应用程序清理、禁用或沙箱处理用户提供的可脚本化可缩放矢量图形(SVG)内容,特别是与由内联脚本和 foreignObject 导致的 XSS 相关的内容控制项
Validation / 清理与沙箱化

验证应用程序是否对用户提供的可缩放矢量图形(SVG)可脚本内容进行清理、禁用或沙箱处理,特别是与由内联脚本和 foreignObject 引起的跨站脚本(XSS)相关的内容。

评估
评估状态:
评估备注:
V5.2.8该应用程序会清理、禁用或沙箱化用户提供的可脚本或表达式模板语言内容,例如 Markdown、CSS 或 XSL 样式表、BBCode 或类似内容控制项
Validation / 清理与沙箱化

验证应用程序是否对用户提供的可脚本或表达式模板语言内容(如 Markdown、CSS 或 XSL 样式表、BBCode 或类似内容)进行清理、禁用或沙箱处理。

评估
评估状态:
评估备注:
V5.3.1输出编码与解释器和所需的上下文相关控制项
Validation / 输出编码与注入防护

验证输出编码是否与解释器和所需上下文相关。例如,根据上下文需要,使用专门用于 HTML 值、HTML 属性、JavaScript、URL 参数、HTTP 头、SMTP 等的编码器,特别是针对不可信输入(例如包含 Unicode 或撇号的名称,如 ねこ 或 O'Hara)。(C4)

评估
评估状态:
评估备注:
V5.3.2输出编码保留了用户选择的字符集和区域设置,因此任何 Unicode 字符点都是有效的,并且可以安全处理控制项
Validation / 输出编码与注入防护

验证输出编码是否保留用户选择的字符集和区域设置,以确保任何 Unicode 字符点都是有效且安全处理的。(C4)

评估
评估状态:
评估备注:
V5.3.3上下文感知的输出转义,最好是自动的——最差情况下也应为手动的——可以防止反射型、存储型和基于DOM的XSS控制项
Validation / 输出编码与注入防护

验证上下文感知的输出转义(最好是自动的,最坏情况下是手动的)是否能防护反射型、存储型和基于 DOM 的 XSS。(C4)

评估
评估状态:
评估备注:
V5.3.4数据选择或数据库查询(e控制项
Validation / 输出编码与注入防护

验证数据选择或数据库查询(例如 SQL、HQL、ORM、NoSQL)是否使用参数化查询、ORM、实体框架,或以其他方式防止数据库注入攻击。(C3)

评估
评估状态:
评估备注:
V5.3.5在没有参数化或更安全机制时,会使用特定于上下文的输出编码来防止注入攻击,例如使用 SQL 转义来防止 SQL 注入控制项
Validation / 输出编码与注入防护

确认在没有使用参数化或更安全的机制时,采用了特定上下文的输出编码来防止注入攻击,例如使用 SQL 转义来防止 SQL 注入。(C3, C4)

评估
评估状态:
评估备注:
V5.3.6该应用程序可以防护 JSON 注入攻击、JSON eval 攻击以及 JavaScript 表达式求值攻击控制项
Validation / 输出编码与注入防护

验证应用程序是否能够防护 JSON 注入攻击、JSON eval 攻击以及 JavaScript 表达式求值攻击。(C4)

评估
评估状态:
评估备注:
V5.3.7该应用程序可以防止 LDAP 注入漏洞,或者已经实施了特定的安全控制来防止 LDAP 注入控制项
Validation / 输出编码与注入防护

验证应用程序是否能防护LDAP注入漏洞,或者是否已经实施了防止LDAP注入的特定安全控制措施。(C4)

评估
评估状态:
评估备注:
V5.3.8该应用程序可以防止操作系统命令注入,并确保操作系统调用使用参数化的操作系统查询或使用上下文命令行输出编码控制项
Validation / 输出编码与注入防护

验证应用程序是否能防止操作系统命令注入,并确保操作系统调用使用参数化的 OS 查询或使用上下文命令行输出编码。(C4)

评估
评估状态:
评估备注:
V5.3.9该应用程序可以防护本地文件包含(LFI)或远程文件包含(RFI)攻击控制项
Validation / 输出编码与注入防护

验证应用程序是否能够防护本地文件包含(LFI)或远程文件包含(RFI)攻击。

评估
评估状态:
评估备注:
V5.3.10该应用程序可以防止 XPath 注入或 XML 注入攻击控制项
Validation / 输出编码与注入防护

验证应用程序是否能够防止 XPath 注入或 XML 注入攻击。(C4)

评估
评估状态:
评估备注:
V5.4.1该应用程序使用内存安全的字符串、更安全的内存复制和指针运算来检测或防止堆栈、缓冲区或堆溢出控制项
Validation / 内存、字符串和非托管代码

验证应用程序是否使用内存安全的字符串、更安全的内存拷贝和指针运算来检测或防止栈、缓冲区或堆溢出。

评估
评估状态:
评估备注:
V5.4.2格式化字符串不接受潜在的恶意输入,并且是常量控制项
Validation / 内存、字符串和非托管代码

确保格式字符串不会接收可能具有敌意的输入,并且是常量。

评估
评估状态:
评估备注:
V5.4.3使用符号、范围和输入验证技术来防止整数溢出控制项
Validation / 内存、字符串和非托管代码

验证是否使用了符号、范围和输入验证技术来防止整数溢出。

评估
评估状态:
评估备注:
V5.5.1序列化对象使用完整性检查或加密来防止恶意对象创建或数据篡改控制项
Validation / 反序列化防护

验证序列化对象是否使用完整性检查或加密,以防止恶意对象创建或数据篡改。(C5)

评估
评估状态:
评估备注:
V5.5.2该应用程序正确地限制 XML 解析器仅使用最严格的配置,并确保禁用解析外部实体等不安全功能,以防止 XML 外部实体(XXE)攻击控制项
Validation / 反序列化防护

验证应用程序是否正确限制 XML 解析器仅使用最严格的配置,并确保禁用解析外部实体等不安全功能,以防止 XML 外部实体(XXE)攻击。

评估
评估状态:
评估备注:
V5.5.3在自定义代码和第三方库(如 JSON、XML 和 YAML 解析器)中,避免反序列化不受信任的数据,或对其进行保护控制项
Validation / 反序列化防护

验证在自定义代码和第三方库(如 JSON、XML 和 YAML 解析器)中是否避免对不可信数据进行反序列化,或对其进行保护。

评估
评估状态:
评估备注:
V5.5.4在浏览器或基于 JavaScript 的后端解析 JSON 时,JSON控制项
Validation / 反序列化防护

请确保在浏览器或基于JavaScript的后端解析JSON时,使用JSON.parse来解析JSON文档。不要使用eval()来解析JSON。

评估
评估状态:
评估备注: