目录
定义
文件上传漏洞是指攻击者上传了一个可执行文件(如木马、病毒、恶意脚本、WebShell等)到服务器执行,并最终获得网站控制权限的高危漏洞。
1.前端验证
使用js在前端做了验证后缀,但是后台没有验证,前端验证其实是我们本地的验证,如看到类似如下js验证代码
可以通过F12开发者模式,把验证代码改了来绕过
就上传成功了
之后就可以连接后门执行代码了
2.MIME验证
属于后端的验证,通过抓包可以看到Content-type字段的一个文件格式,如图就是上传了一个php文件所显示的类型
如只允许上传image/png格式,抓包将其改为允许的文件类型,就可以绕过。
注意:后门代码需要特定格式后缀解析,不能一图片后缀解析后门代码(解析漏洞除外)。图片中有后门代码,不能被触发,所以连接不上后面
而当上面都不行的时候,尝试大小写绕过,可以看上传成功
但是不一定能正常解析,像这样变成直接下载,这就是错误的解析 。这是根据中间件的一个搭建所决定的,有些大小写绕过就很尴尬,有些你改了之后呢,就会出现解析不了直接下载,或者直接保存的情况
或者是通过多后缀解析,如php5,php7
3.htaccess文件和.user. ini
首先要了解.htaccess通常用于实现URL重写、访问控制、错误页面定制、MIME类型设置等功能,且只在Apache下有效,在绕过文件上传的限制中,在Apache全局配置文件中httpd.conf有这样一条配置AddType application/x-httpd-php .php .phtml .php5 .pht .ph