OWASP 应用程序安全验证标准 4.0.3
控制项模式应用安全验证标准是一份应用安全需求或测试清单,可供架构师、开发人员、测试人员、安全专家、工具供应商和用户用来定义、构建、测试和验证安全应用程序。
验证应用程序不会接受可能占满存储或导致拒绝服务的大文件。
验证应用程序在解压文件之前是否会检查压缩文件(例如 zip、gz、docx、odt)的最大允许解压后大小以及最大文件数量。
验证是否实施了文件大小配额和每个用户的最大文件数量限制,以确保单个用户无法通过过多文件或过大文件占满存储空间。
验证从不可信来源获取的文件是否根据文件内容被确认为预期类型。
验证用户提交的文件名元数据未被系统或框架文件系统直接使用,并确保使用 URL API 来防止路径遍历。
验证用户提交的文件名元数据是否经过验证或被忽略,以防止本地文件(LFI)的泄露、创建、更新或删除。
验证用户提交的文件名元数据是否经过验证或被忽略,以防止通过远程文件包含(RFI)或服务器端请求伪造(SSRF)攻击泄露或执行远程文件。
验证应用程序通过对 JSON、JSONP 或 URL 参数中用户提交的文件名进行验证或忽略,以防止反射性文件下载(RFD),响应的 Content-Type 头应设置为 text/plain,并且 Content-Disposition 头应具有固定的文件名。
验证不可信的文件元数据是否未被直接用于系统 API 或库,以防 OS 命令注入。
确认应用程序不包含并执行来自不可信源的功能,例如未经验证的内容分发网络、JavaScript 库、Node npm 库或服务器端 DLL。
确保从不可信来源获得的文件存储在 Web 根目录之外,并且权限有限。
确保来自不受信任来源的文件经过杀毒软件扫描,以防止上传和提供已知的恶意内容。
验证 Web 层是否配置为仅提供具有特定文件扩展名的文件,以防止无意的信息和源代码泄露。例如,除非必要,否则应屏蔽备份文件(如 .bak)、临时工作文件(如 .swp)、压缩文件(例如 .zip、.tar.gz 等)以及其他编辑器常用的扩展名。
确保对已上传文件的直接请求永远不会作为 HTML/JavaScript 内容执行。
验证网页或应用服务器是否配置了允许列表,指定服务器可以发送请求或从中加载数据/文件的资源或系统。