文件上传漏洞详解

文件上传漏洞分类:
1)服务器配置不当(IIS6.0 put直接写文件)

		iss服务器 webDAV扩展开启,网站目录开启可写、可访问。只要知道ip就可以写文件

2)本地文件上传限制被绕过 (javascript验证被绕过)前端验证
3)服务器端过滤不严被绕过

		(1)php jsp  asp  aspx  asa php3  cer  cdx  .py
		(2)多文件上传有时只对第一个文件进行严格检验

4)文件路径截断

		\0:php是基于C语言编译的,C语言的字符串结尾以/0结束
		?:在URL中 用来标识文件名和参数值, .php?id=
		%00:ur编码,php5.22版本漏洞

5)文件解析漏洞导致文件被执行

		iis:
			a.在6.0版本中当文件被命名为 a.asp;jpg 会被解析为脚本文件
			b.IIS 6.0 /xx.asp/xx.jpg "xx.asp"是文件夹名
			c.IIS 7.0/7.5默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析
		apach:
			早期版本上传 1.php.xxx会被解析为脚本.Apache是从右往左判断后缀
		nginx:
			a. 版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。空字节代码 xxx.jpg.php
			b. 早期版本 1.jpg/x.php会被当成脚本执行
			c. 对低版本的在任意文件名后面添加%00.php进行解析攻击 
			d. 在 nginx 0.5.* 0.6.* 0.7 <= 0.7.65 0.8 <=0.8.37 以上版本中上传一个在waf白名单之内扩展名的文件1.jpg 然后以q.jpg%00.php进行请求
			e。在 10.8.41~1.4.3  1.5<=1.5.7 的linux系统里上传一个在waf白名单之内扩展名的文件1.jpg  然后以1.jpg%20%00.php进行请求

6)开源编辑器漏洞

	(fckeditor,自定义文件夹,文件夹结合iis6.0解析漏洞)
		ewebeditor:可以登录后台,配置允许上传的文件类型.asp

7)文件上传漏洞防御:

	a. 上传文件存储目录不给执行权限
	b. 文件后缀白名单,注意00截断攻击(php 5.2x 升级更新到最新版本)
	c. 不能有本地文件包含漏洞 (include dama.jpg)
	d. 及时更新web应用软件。避免解析漏洞攻击

文件上传绕过:

1)后缀名大小写绕过
2)黑名单绕过
3)特殊文件名绕过
4)00截断绕过
5).htacess文件攻击
6)解析绕过

WAF绕过:有些主机WAF软件为了不影响web服务器的性能,会对校验的用户数据设置大小上限,比如1M。此种情况可以构造一个大文件,前面1M的内容为垃圾内容,后面才是真正的木马内容,便可以绕过WAF对文件内容的校验;

你可能感兴趣的:(学习笔记)