解析导致的文件上传漏洞

解析导致的上传漏洞

1.IIS6.0站上的目录路径检测解析绕过上传漏洞

默认 遇到/就不解析后面的了
IIS6.0目录路径检测解析,文件的名字为“*.asp/xxx.jpg”,也同样会被 IIS 当作 ASP文件来解析并执行
首先我们请求 /aaa.asp/xxxx.jpg
从头部查找查找 "."号,获得 .asp/xxxx.jpg
查找"/",如果有则内存截断,所以/aaa.asp/xxxx.jpg会当做/aaa.asp进行解析

2.IIS6.0站上的解析缺陷绕过上传漏洞

IIS6.0目录路径检测解析,文件的名字为“*.php;xxx.jpg”,也同样会被 IIS 当作 PHP 文件来解析并执行
首先我们请求 /aaa.php;xxx.jpg
从头部查找查找 .号,获得 .php;xxx.jpg
查找;,如果有则内存截断,所以/aaa.php;xxx.jpg会当做/aaa.php进行解析

3.Apache解析缺陷绕过上传漏洞

可以用于服务器端扩展名检测黑名单绕过。

原理

当浏览器将文件提交到服务器端的时候,服务器端会根据设定的黑白名单对浏览器提交上来的文件扩展名进行检测,如果上传的文件扩展名不符合黑白名单的限制,则不予上传,否则上传成功。

绕过方法

将一句话木马的文件名【evil.php】,改成【evil.php.xxx】(奇怪的不被解析的后缀名都行)。首先,服务器验证文件扩展名的时候,验证的是【.xxx】,只要该扩展名符合服务器端黑白名单规则,即可上传。另外,当在浏览器端访问该文件时,Apache如果解析不了【.xxx】扩展名,会向前寻找可解析的扩展名,即【.php】

.7z后缀

进行绕过上传,可以将一句话木马文件 yijuhua.php文件名加上后缀名为.7z。

7z格式是一种压缩文件的格式,但Apache不识别7z后缀,Apache解析文件时,如果后缀名不认识,则会继续向前解析,会解析到php,这就是Apache的解析漏洞。

防御建议

1.普通用户与系统管理员的权限要有严格的区分
2.强迫使用参数化语句
3.加强对用户输入的验证
4.多使用数据库自带的安全参数
5.使用专业的漏洞扫描工具来寻找可能被攻击的点

4.htaccess文件上传解析漏洞 (重写解析规则绕过)

.htaccess是apache服务器中的一个配置文件,不是上传的文件的黑名单之内 ,所以.htaccess文件是可以上传成功。
上传覆盖.htaccess文件,重写解析规则,将上传的带有脚本马的图片以脚本方式解析。
编写.htaccess文件。
打开记事本,将如下代码写入文本中:

AddType  application/x-httpd-php    .jpg

然后点击文件选中另存为,编写文件名为.htaccess,选择保存类型为所有文件。
.htaccess文件里的代码的含义 是 将上传的文件后缀名为.jpg格式的文件以 php格式来解析文件。
将.htaccess文件进行上传,上传成功。

参考资料:

http://blog.csdn.net/c465869935/article/details/51800354
http://blog.csdn.net/xysoul/article/details/45306209
http://www.cnbeta.com/articles/111752.htm

你可能感兴趣的:(解析导致的文件上传漏洞)