常见web中间件及其漏洞

目录

Web中间件

常见的Web中间件:

Php中间件漏洞

Apache:

Nginx:

IIS漏洞

JAVA中间件漏洞

Tomcat:

WebLogic:


Web中间件

一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件,在web业务中我们也把他称为Web服务器,Web容器

常见的Web中间件:

IIS Apache Nginx WebLogic Tomcat JBoss

Php中间件漏洞

Apache:

文件解析漏洞:

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。

如: shell.php.jpg      Apache不认识.jpg后缀,就会将按照从右到左的顺序,将其当作.php解析


如果运维开启了AddHandler application/x-httpd-php .php
甚至可以只要含有php就可以,没必要是最后一个后缀

换行解析漏洞:

httpd 2.4.0~2.4.29版本,解析时会将.php\x0A当成.php文件解析

burp中换行是%0d%0a

shell.php\0a  --->  shell.php

Nginx:

文件解析漏洞:

由于php中的选项cgi.fix_pathinfo的默认值被开启,所以当nginx看到.php结尾的文件就交给了php处理:

当我们传入shell.png/shell.php时,nginx将其当作php解析,但没有找到shell.php文件,向上级目录修

正,然后就会将shell.png当作php解析,其中shell.png为图片马


shell.png/shell.php   --->shell.png   当作php解析

文件名逻辑漏洞:

nginx版本:Nginx 0.8.41~1.4.3 Nginx 1.5.0~1.5.7(未设置cgi.fix_pathinfo情况下)

漏洞源码:

location ~ \.php$ {
    include        fastcgi_params;

    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
    fastcgi_param  DOCUMENT_ROOT /var/www/html;
}

可以这样理解:当传入.php文件时,进入这个Location板块,有fastcgi当作php解析;

而该漏洞则是  当传入shell.gif[0x20][0x00].php时,符合正则\*.php$ ,进入location板块,而传入后

nginx却认为它是shell.gif[0x20],被传给fastcgi当作.php处理


shell.gif[0x20][0x00].php--->shell.gif[0x20]  

利用,上传shell.png[0x20],然后抓包修改,添加[0x00].php(Hex)

IIS漏洞

IIS文件解析漏洞:

一.版本:IIS5.x/6.0

除了含有特殊符号的文件路径时出现逻辑错误

1.    /shell.asp/shell.png   

目录解析,/shell.asp下的所有文件都会被当作asp执行


2.    /shell.asp;.png

; 后面的不会被当作后缀解析

3.    IIS6.x除了会将扩展名为.asp的文件解析为asp之外,还默认会将扩展名为.asa,.cdx,.cer解析为asp,

二.版本:IIS7.0/IIS 7.5

和nginx文件解析漏洞相似

PUT文件上传漏洞:

版本:IIS6.0

条件:开启WebDAV(允许用户协作编辑和管理远程web服务器上的文件)和写权限

1.利用OPTION请求查看到服务端允许PUT请求方式

2.利用PUT请求写入含有一句话木马的文件,文件名后缀为.txt等,如shell.txt

3.利用COPY或MOVE请求将文件名后缀改为.asp  shell.asp;.txt

4.连接木马

常见web中间件及其漏洞_第1张图片

 

短文件名漏洞:

IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。

远程代码执行:

在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。

JAVA中间件漏洞

Tomcat:

PUT文件上传漏洞

版本:Tomcat 7.0.0 – 7.0.81

条件:readonly设置为了false


利用shell.jsp/ 绕过


常见web中间件及其漏洞_第2张图片

 

弱口令+后台getshell漏洞

Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。

获取权限:

基础认证特征:

  请求的HTTP头字段会包含Authorization字段:
  Authorization: Basic YWRtaW46MTIzNDU2
  base64加密后的admin:123456


burpsuite如何对其爆破:

  payload type选择Custom iterator(自定义迭代器)
  设置自定义payload
  在Payload Processing中点击add添加相应的加密base64
  在最后的Payload Encoding中取消urlencode加密特殊字符

WebLogic:

SSRF

利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

管理控制台未授权RCE

CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。

任意文件上传

Web Service Test Page 在“生产模式”下默认不开启,所以该漏洞有一定限制。利用该漏洞,可以上传任意jsp文件,进而获取服务器权限。

你可能感兴趣的:(中间件)