
NitroShare v0.3.4 中的路径遍历漏洞
NitroShare Desktop v0.3.4 的局域网文件传输服务器存在路径遍历漏洞。该服务器监听所有网络接口(端口 40818),且无需身份验证。在接收文件时,发送方 JSON 项目头中的 name 字段会被直接传递,而未验证解析后的路径是否仍位于传输根目录 C:\UserName\Downloads\NitroShare 之内。同一局域网内的攻击者可以发送包含 ../(经典的点点斜杠攻击)序列的精心构造的文件名,从而在当前用户可访问的任何位置写入文件,包括 Windows 启动文件夹,以便在下次登录时执行代码(因此创建了相应的 PoC)。无需任何用户交互。此外,TLS(该应用提供的认证方式)默认处于禁用状态,这意味着默认情况下无需任何认证;基于我在 IT 与信息安全领域多年的工作经验,我推测大多数用户都会保持这一默认状态。
{"name":"attacker","size":"<n>","count":"1"}。{"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"}
已提供一个可运行的 PoC(poc_path_traversal_via_lan_transfer___arbitrary_file_w.py),并已在 Windows 上的 NitroShare 0.3.4 中验证通过。
/、\)和 .. 序列。使用 QDir::absoluteFilePath() 解析后,在处理前验证结果是否以传输根目录开头。