漏洞概述 漏洞名称: Unauthenticated Arbitrary File Create/Append via Option in Dalfox Server Mode 漏洞描述: 当Dalfox以REST API服务器模式运行时, 、 和 字段在模型选项中被JSON标记并直接从攻击者的请求体中反序列化。这些字段通过 传递到扫描引擎的日志记录器中。日志记录器使用 打开攻击者提供的路径,并写入扫描日志行。关键问题是,这些文件块位于 守卫之外,因此在 模式下即使未启用输出也会执行。由于默认配置不需要API密钥,未认证的远程调用者可以创建或附加到Dalfox进程在主机文件系统上可写的任何文件。 影响范围 受影响组件: - - - (postScanHandler) - - 严重程度: 高 (CVSS v3.1: 8.2) 攻击向量: 网络 — 服务器默认绑定到0.0.0.0:6664 攻击复杂度: 低 — 无需前置条件;所有触发选项( 、 、 )完全由攻击者在JSON主体中提供 特权要求: 无 — 默认为 ,因此中间件从未注册 用户交互: 无 范围: 未改变 — 文件写入保持在Dalfox进程的OS权限内 机密性影响: 无 — 这是一个只写原语;不会返回数据给调用者 完整性影响: 高 — 攻击者完全控制文件路径的打开,能够创建新文件或损坏现有文件,只要Dalfox进程有写权限。虽然日志内容格式是半固定的,但文件路径完全由攻击者决定,使完整性违规与文件目标相关 可用性影响: 低 — 计算应用程序配置文件或日志文件可能会降低主机上其他服务的可用性 修复方案 1. 选项1: 从API来源的请求中剥离文件系统危险字段(首选) - 在传递给 之前,将所有触及本地文件系统的字段置空。这是与 和 文件读取发现相同的修复建议,应作为单个合并补丁应用。 2. 选项2: 在Dalog中用IsLibrary保护文件写入 - 将 文件写入块移动到 分支,使其仅在非库(CLI)模式下执行。此修复解决了根本结构原因——文件写入原本仅用于CLI模式,而 匹配了意图。选项1仍推荐为主要修复;选项2增加了纵深防御,但需要小心不要破坏合法的CLI用法。 3. 选项3: 在服务器启动时要求 - 与其他服务器模式发现一样,强制身份验证消除了未认证的攻击面。 POC代码 注意: 没有 标头是必需的。替换 为Dalfox进程可写的任何路径。例如: 、 、 (附加不会破坏文件格式但会污染文件)等。