cool-team-official / cool-admin-midway

🔥 cool-admin(midway版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.x、typescript、typeorm、mysql、jwt、vue3、vite、element-ui等构建
https://cool-js.com
MIT License
2.65k stars 588 forks source link

upload 在使用 key 定义文件名的时候没有校验文件后缀 #179

Open bdoycn opened 4 months ago

bdoycn commented 4 months ago

问题:

使用 key 定义文件名时 完全没有对后缀进行校验 可能导致存储型 XSS 漏洞

建议:

配合 midway 的 upload.whitelist 配置进行校验

问题文件

/src/modules/plugin/hooks/upload/index.ts

cool-team-official commented 4 months ago

midway可以配置文件白名单 https://www.midwayjs.org/docs/extensions/upload#%E4%B8%8A%E4%BC%A0%E7%99%BD%E5%90%8D%E5%8D%95

bdoycn commented 4 months ago

midway可以配置文件白名单 https://www.midwayjs.org/docs/extensions/upload#%E4%B8%8A%E4%BC%A0%E7%99%BD%E5%90%8D%E5%8D%95

额 我就是说在设置白名单的情况下 这里没有校验 注意是使用 key 作为命名的情况下 不是 filename

cool-team-official commented 4 months ago

可以提交个pr 看看