【解析漏洞】常见漏洞的原理及防御

前言

本篇文章主要介绍Apache 解析漏洞和IIS 解析漏洞的原理及防御

apache

漏洞原理:

对于Apache来说,它认为一个文件可以有多个后缀,例如test.txt.png.jpg,windows大多数操作系统会认为最后一个“.”后的“jpg”为后缀,而Apache解析文件的规则是从右到左判断,如果后缀名为Apache不认识不可解析的文件时,则再往左判断。例如/test.php.owf.rar,“.owf"和”.rar"这种后缀的Apache不可直接解析,Apache就会把/test.php.owf.rar解析成它所认知的,也就是php文件。

修复方案:

1、 apache配置文件,禁止.php.这样的文件执行。
配置文件中添加

<Files ~.(php.|php3.)>
			Order Allow,Deny
			Deny from all
</Files>

2、 用伪静态解决,重写类似.php.*这类文件,打开apache的httpd.conf找到#LoadModulerewrite_modulemodules/mod_rewrite.so把#号去掉,重启apache,在网站根目录建立.htaccess文件,代码如下

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
</IfModule>

iis

iis5.x-6.x

漏洞原理:

使用iis5.x-6.x版本的服务器大多为windows server 2003,由于网站比较古老,开发语句一般为asp,该解析漏洞只能解析asp文件,而不能解析aspx文件,得安装.net框架。
目录解析(6.0)
形式:www.xxx.com/xx.asp/xx.jpg
原理:服务器会默认把asp,asa目录下的文件都解析成asp文件
例如创建一个文件夹,将文件夹重命名为1.asp,那么在此文件夹内创建一个一句话木马,会被当成asp解析,假设攻击者可以控制上传文件夹路径,即可拿shell

文件解析
形式:www.xxx.com/xx.asp;.jpg
原理:服务器默认不解析;后面的内容,因此xx.asp;.jsp会解析成asp文件
解析文件类型(IIS6.0 默认的可执行文件除了asp)

修复方案:

1、 编写正则,阻止上传xx.asp;.jpg类型的文件
2、 做好权限设置,限制用户创建文件夹

iis7.5

漏洞原理

由于php配置文件中,开启了cgi.fix_pathinfo。

猜你喜欢

转载自blog.csdn.net/SUSUYUA/article/details/129233154