原理
一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意代码植入到服务器中,再通过url去访问以执行代码。
漏洞起因
- 对于上传文件的后缀名没有做严格的限制
- 对于上传文件的MIMETYPE没有做检查
- 没有限制上传的文件的文件权限
- 对于上传文件或者指定目录的行为没有做限制
漏洞测试过程
- 正常上传,抓包分析
- 尝试上传不同类型的恶意脚本文件(jsp、php等)
- 查看是否在前端做了上传限制,如大小、格式、并尝试绕过
- 利用报错或者猜测等方式获得木马路径
- 访问
防御措施
- 文件扩展名服务端白名单校验
- 文件内容服务端校验
- 上传文件重命名
- 隐藏上传文件路径