目前解析漏洞主要存在于三大WEB服务程序,分别是IIS、NGINX和APACHE。

      IIS6.0下主要是有两个解析漏洞,一个是目录解析,形如/xx.asp/xx.jpg,另一个就是文件解析,形如xx.asp;.jpg,可通过此漏洞上传shell,对服务器危害较大。

      著名的nginx畸形解析漏洞。实验室已经有这个漏洞的实验,不再赘述。

      Apache解析漏洞。这个实验也是测试的这个漏洞。环境是php+apache

      Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断。比如xxx.php.rar对apache来说rar是不可解析的,所以就会解析成xxx.php。

 

通过简单上传页面证明apache解析漏洞

      登录客户机,用浏览器打开地址http://10.1.1.31/upload/,这是根目录下的upload目录,也是要上传的文件目录,现在是空的

      

      然后再打开http://10.1.1.31/upload.html,这就是上传页面

      

      现在开始测试。在客户机中新建一个test.php.rar内容是<?php phpinfo();?>然后上传

      

      

      看看是否上传成功。访问一下试试

      

      

      Apache并不认识rar后缀名,对它来说会看成test.php。解析成功。其实整个漏洞的关键就是apache的"合法后缀"到底是哪些,不是"合法后缀"的都可以被利用。

 

通过修改apache配置文件进行防御

      由上面可知,在http://10.1.1.31/upload/下已经成功上传了test.php.rar,并且可错误解析成php。

      现在对apache的配置文件做适当修改,在文件中添加下面几行代码

      <FilesMatch ".(php.|php3.|php4.|php5.)">

        Order Deny,Allow

        Deny from all

      </FilesMatch>

      禁止*.php.*文件的访问权限

      

      保存并重启apache。现在再来测试

      

      目录下也看不到了