引擎解析漏洞

常见的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

参考链接

apache、nginx、Tomcat、IIS引擎解析漏洞的更多相关文章

  1. 攻防环境配置大全(iss/apache/nginx/tomcat/jboss/weblogic)

    一.IIS/apache/nginx/tomcat 介绍 1.asp aspx 只能在微软系统的iis中间件运行 [asp+IIS+access(扩展名为mdb)].aspx+mssql+iis结合, ...

  2. 再提供一种解决Nginx文件类型错误解析漏洞的方法

    [文章作者:张宴 本文版本:v1.2 最后修改:2010.05.24 转载请注明原文链接:http://blog.zyan.cc/nginx_0day/] 注:2010年5月23日14:00前阅读本文 ...

  3. IIS6.0,Apache低版本,PHP CGI 解析漏洞

    IIS6.0解析漏洞 在IIS6.0下存在这样的文件"名字.asp;名字.jpg" 代表了jpg文件可以以asp脚本类型的文件执行. 根据这个解析漏洞我们可以上传这种名字类型的图片 ...

  4. Apache Nginx Tomcat

    Tomcat Tomcat:动态解析容器 处理动态请求,是编译JSP/Servlet的容器 区别: 严格意义上来说 Apache和nginx应该叫做HTTP Server tomcat是一个Appli ...

  5. nginx文件类型错误解析漏洞

    漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行.80sec发现 其中存在一个较为严重的安全问题,默认情况下可能导致服务器错误的将 ...

  6. IIS文件名解析漏洞扼要分析

    概括: 从技术角度分析IIS6文件名解析漏洞的原理与IIS7的相关情况. a.IIS6错误解析文件类型现象 1.当WEB目录下,文件名以 xxx.asp;xxx.xxx 来进行命名的时候,此文件将送交 ...

  7. X-Forwarded-For 负载均衡 7 层 HTTP 模式获取来访客户端真实 IP 的方法(IIS/Apache/Nginx/Tomcat)

    https://help.aliyun.com/knowledge_detail/13051859.html?pos=1 1.IIS 6 配置方案2.IIS 7 配置方案3.Apache 配置方案4. ...

  8. Nginx文件类型错误解析漏洞--攻击演练

    今天看书看到其中提到的一个漏洞,那就是Nginx+PHP的服务器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就会产生一个漏洞.这个配置默认是1的,设为0会导致很多MVC框架(如T ...

  9. 《Nginx文件类型错误解析漏洞--攻击演练》 (转)

    今天看书看到其中提到的一个漏洞,那就是Nginx+PHP的服务器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就会产生一个漏洞.这个配置默认是1的,设为0会导致很多MVC框架(如T ...

随机推荐

  1. 微软发布.net 6,net5 RC2

    2020-11-13 更新 .net 6 SDK https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.100-alpha.1.20562.2/dotnet-s ...

  2. Docker学习—Machine

    前言 前面<Docker学习-Compose>文中介绍了Compose的使用方式:接下来继续了解docker三剑客之一的 Machine: 一.Docker Machine简介 1.什么是 ...

  3. c语言: 错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现

    在gcc编译中如果使用 for(int i=0;i<n;++i){}会提示错误 错误:只允许在 C99 模式下使用'for'循环初始化声明 用gcc编译出现 就是说你的你的c编译器不是c99标准 ...

  4. 应对告警风暴,Cloud Alert 实现告警风暴智能降噪

    前言 睿象云前段时间发表了一篇< Zabbix 实现电话.邮件.微信告警通知的实践分享>的技术文章.它帮助我们非常轻松地支持了各种告警通知方式,但是存在一个严重的问题,我们经常接到各种相类 ...

  5. leetcode 30day--2

    202. Happy Number Write an algorithm to determine if a number n is "happy". A happy number ...

  6. ceph luminous bluestore热插拔实现

    需求描述 在某些测试场景下面,需要满足能够拔盘以后在插入的时候能够自动上线磁盘,这个需求实际在生产中是不建议使用的,原因是插入的磁盘如果本身存在问题,那么拉起的操作可能会破坏了本身集群的稳定性,所以这 ...

  7. Gin的中间件和路由分组

    什么是分组 对router创建Group(就是分组), 对同一分组会拥有同一前缀和同一中间件 写法 eg: r := gin.Default() v1 := r.Group("/v1&quo ...

  8. 【SpringCloud】consul注册中心注册的服务为内网(局域网)IP

    一.前因 最近在做公司的一个微服务项目,技术架构为spring cloud + consul + SSM. 当我写完一个功能要在本地测试时,发现服务运行成功,但是前后端联调报500错误. 当时的第一个 ...

  9. Frogs‘ Neighborhood(POJ 1659 C/C++)

    poj 1659 Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路 ...

  10. IDEA “Cannot resolve symbol” 解决办法

    IDEA 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题.鼠标放上去后显示 "Cannot resolve symbol XXX",重启 ...