成因:
当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的 脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞。
权限:
1. 后台权限:登陆了后台,可以进行一些操作、配置
2. 网站权限:获得了webshell,可以进行查看源代码等操作
3. 服务器权限:可以对服务器进行任意操作
漏洞分类:
1.客户端(本地过滤文件名)
2.服务端(文件名,文件内容,mime类型检查,路径检测(nginx),00截断)
3.编辑器
4.查看中间件版本号,搜索是否存在漏洞。
漏洞挖掘:
1. 查找上传点,如图片、附件、头像的上传等
2. 找类似upload的目录、类似upload.php的文件
3. 找编辑器目录,如eWebEdirot、fckeditor、kingeditor等
可用于文件名绕过:
php php2 php3 php5 phtml
asp aspx ascx ashx cer asa
jsp jspx
最好的防御措施:
在中间件不存在漏洞解析的情况下,使用白名单限制