文件上传的定义
文件上传在web中运用非常的广泛,可以说是web开发必备功能,比如注册网站时上传头像,某些论坛中图片,文件上传等,本来这项工能是为了给用户提供方便,但如果因为某些原因产生漏洞,被骇客利用,就会对服务器产生严重破坏。
文件上传漏洞产生原因
导致文件上传漏洞的原因有很多,根据网上的资料,我主要找到以下几类:
1、服务器配置不当;
比如:开启http put方法,在没有上传页面的情况下也能上传文件。
2、服务端过滤不严格被绕过;
服务器上对文件上传做了部分过滤或者直接没有过滤导致的文件上传。
比如:采用黑名单过滤.php,但没有过滤.PHp,就会产生漏洞。
3、文件解析导致的文件上传漏洞
比如:Apache的左解析特性,就是当文件的最后一个后缀名无法识别时,向左解析第二个后缀名,就像a.php.xxx,Apache 不认识.xxx所以会直接解析为a.php。
4、文件路径截断
比如:00截断,像1.php%00.jpg上传时过滤器认为你上传的文件后缀名为.jpg,而实际上web解析的时候解析到的是1.php。至于原因在文章后面讲解,莫慌。
5、逻辑漏洞产生文件上传
文件上传的危害
当然,现在知道了文件上传时个漏洞,也知道了一些产生的原因,那他究竟有多大危害?
当我们利用文件上传漏洞上传了一个webshell并成功连接。接下来就可以修改网页内容;钓鱼,挂马,进行