任意文件上传漏洞

复现地址: https://a_j89r6gwvkw4.v7.demo-cn.nocobase.com/admin/1bxifptcy4n
先在数据源中设置了附件MIME类型只允许 image/*,application/pdf
然后在上传时选择所有文件,选中php一句话木马上传成功,并且可以下载


我发现还上传木马,以及勒索病毒,服务器还要做隔离

确实存在一定的安全隐患,虽然配置了 MIME 类型,但并不是严格限制,只要修改文件后缀就可能绕过 MIME 类型的校验;更严谨的做法,是通过代码读取文件的实际内容,从而判断其真实的 MIME 类型。

如果要做得更灵活一些,建议 nocobase 在配置附件字段的表单中增加一个选项,例如 “是否严格校验文件类型”,当勾选该选项时,系统就会通过代码解析文件的真实类型,并与 MIME 类型输入框中允许的类型进行比对,从而实现更安全的文件上传控制。