apache、nginx、Tomcat、IIS引擎解析漏洞

引擎解析漏洞

常见的web容器有IIS、Apache、Nginx、Tomcat等,以下是详细讲解

IIS

IIS简介

是Windows系统提供的一种服务,它包括WWW服务器、FTP服务器和SMTP服务器

IIS 6.0

     当建立*.asa,*.asp格式的文件夹时,其目录下的人以文件都将被IIS当做asp文件解析
     当文件名为*.asp;1.jpg时,同样会以ASP脚本解析
     默认解析为*.asa、*.cer、*.cdx

IIS 7.0-7.5 / Nginx <= 0.8.37

     在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,则 xx.jpg/xx.php 会被解析为php文件

Nginx

漏洞简介

      Nginx漏洞其实就是PHP CGI漏洞,在php的配置文件中有一个关键的选项:cgi.fi:x_pathinfo,
      此选项默认是开启的。

PHP CGI解析漏洞

Fast-CGI关闭

     在Fast-CGI关闭的情况下, Nginx 仍然存在解析漏洞: 在文件路径(xx.jpg)后面加上 %00.php , 
      即 xx.jpg%00.php 会被当做 php 文件来解析

Fast-CGI开启

      在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,
      则 xx.jpg/xx.php 会被解析为php文件

Apache

权限

Apache默认以root或者admin身份运行,会造成以下两个后果:

      #当黑客入侵成功后,将直接获得一个高权限的shell
      #应用程序将具有较高的权限,当出现bug时会带来较高的风险,比如删除本地重要文件,
       杀死进程等不可预知的结果

日志安全

      Apache的log文件会记录所有入侵痕迹,
      默认路径为安装目录下的/apache-20/logs/access.log

后缀解析

       test.php.x1.x2.x3 ( x1,x2,x3 为没有在 mime.types 文件中定义的文件类型)。
       Apache 将从右往左开始判断后缀, 若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,
       然后对可识别后缀进行解析.apache认识的拓展名存储在安装目录下的/conf/mime.types中。

.htaccess

      当AllowOverride被启用时,上传启用解析规则的.htaccess

CVE-2017-15715

       %0A绕过上传黑名单

Tomcat

默认运行在8080端口。管理员可以在tomcat mamager中部署war包,但是用户需要有manager权限,配置文件位置为安装目录下的/conf/tomcat-users.xml中。以下是两个安全隐患配置。

      #使用弱口令并赋予manager权限
       <user username=”root” password=”root” roles=”manager”/>

      #使用默认用户并赋予manager权限
       <user username=”tomcat” password=”tomcat” roles=”tomcat,manager”/>

Lighttpd

       xx.jpg/xx.php

Windows

       Windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动取出,
       所以可以使用 xx.php[空格] , xx.php., xx.php/, xx.php::$DATA 可以上传php

参考链接