web常见中间件漏洞详解

IIS

IIS安装步骤

  • IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。IIS目前只适用于Windows系统,不适用于其他操作系统。
  • IIS的安全脆弱性曾长时间被业内诟病,一旦IIS出现远程执行漏洞威胁将会非常严重。远程执行代码漏洞存在于 HTTP 协议堆栈 【HTTP.sys】中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码,可以导致IIS服务器所在机器蓝屏或读取其内存中的机密数据。

PUT任意文件写入(IIS6.0)

IIS ServerWeb 服务扩展中开启了 webDAV ,配置了可以写入的权限,造成任意文件上传。

在这里插入图片描述
在这里插入图片描述
利用BurpSute抓包,将GET请求改为OPTIONS,即可成功上传文件。

短文件名猜解漏洞

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

  1. 查看当前文件夹的短文件:在cmd中 执行dir /x
    在这里插入图片描述

  2. 只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的6个字符是相同的,后面的数字进行递增。
    在这里插入图片描述

  3. 后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。
    在这里插入图片描述

  4. 所有小写字母均转换成大写的字母。

  5. 长文件名中包含多个”.”的时候,以文件最后一个”.”作为短文件名的后缀
    在这里插入图片描述

  6. 长文件名前缀/文件夹名字符长度符合0-9A-Za-z范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件。
    在这里插入图片描述

  7. 目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种。IIS 8.0之后的版本只能通过OPTIONSTRACE方法被猜测成功。IIS8.0以下版本需要开启ASP.NET支持。

漏洞利用

1. 猜测文件全名
通过IIS短文件漏洞猜测出来的短文件名称,需要继续猜测出全名才可以在IIS上进行访问【即IIS由于安全原因不支持短文件名访问】

  • 通过对目标网站或同类型网站进行爬虫,爬出建立一个字典库,再与得到的短文件名来猜剩下的字符 ;
  • 利用fuzzdb【一个应用程序模糊测试(fuzzing)数据库】来猜解;
  • 结合OWASP的dirbuster【一款路径及网页暴力破解的工具】

2. 短文件特性软件
例如,backup_20180101.sql,其短文件是BACKUP~1.SQL

3. 绕过Basic and Windows认证 / 后台
在某些IIS服务器配置下,可以绕过Basic and Windows认证,猜解出认证目录下的文件。

修复建议

  1. 此漏洞只能确定前6个字符,如果后面的字符太长、包含特殊字符,很难猜解。

  2. 如果文件名本身小于9位【无短文件名】也是无法猜解的

  3. 如果文件夹名前6位字符带点“.”,扫描程序会认为是文件而不是文件夹,最终出现误报。

  4. 不支持中文文件名,包括中文文件和中文文件夹。一个中文相当于两个英文字符,故超过4个中文字会产生短文件名,但是IIS不支持中文猜测。

  5. 修改注册表即可以不创建短文件名格式。

  6. 关闭Web服务扩展- ASP.NET

IIS6.0远程代码执行(CVE-2017-7269)

开启WebDAV服务的IIS 6.0存在缓存区溢出漏洞导致远程代码执行,目前针对 Windows Server2003 R2 可以稳定利用。

漏洞详解以及复现

参考文章2

解析漏洞

IIS 5.x和IIS 6.x解析漏洞

Apache

Apache 是世界使用排名第一的Web 服务器软件。它可以运行在几乎所有广泛使用的 计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将 Perl/Python等解释器编译到服务器中。

解析漏洞

Apache解析漏洞

目录遍历

由于配置错误,导致程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可是../ASCII编码或者是unicode编码等。

目录遍历的标志:Index of /
在这里插入图片描述

漏洞修复

httpd.conf文件中找到Options + Indexes + FollowSymLinks + ExecCGI并修改成Options -Indexes + FollowSymLinks + ExecCGI并保存【把+修改为-

HTTP.SYS远程代码执行 (MS15-034)

影响范围:

Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2

漏洞复现

参考文章

Nginx

文件解析

Nginx文件解析

目录遍历

Nginx的目录遍历与Apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码的泄露。

漏洞复现

CRLF注入

CRLF是“回车+换行”【\r\n】键的简称,HTTP HeaderHTTP Body时用两个CRLF分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来,通过控制HTTP消息头中的字符,注入恶意换行,就能注入一些会话cookie或者html代码,由于Nginx配置不正确,导致注入的代码会被执行,

漏洞复现

目录穿越

漏洞出现在服务器的静态文件中,如果静态文件存储在/home/目录下,而该目录在url中名字为files,那么就需要用alias设置目录的别名。Nginx在配置别名的时候,如果忘记加/,将造成一个目录穿越漏洞。
在这里插入图片描述

Tomcat

实际上TomcatApache 服务器的扩展,但运行时它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

Tomcat 任意文件写入(CVE-2017-12615)

该漏洞的利用场景为当tomcat运行在windows下,允许PUT方式的http请求并且tomcatweb.xml配置文件中readonly值为false,攻击者就可以向服务器上传恶意jsp文件或webshell文件。tomcat服务器配置默认情况下readonly值为true无法触发漏洞,需要修改为false才能上传文件。

影响版本: Apache Tomcat >=7.0.0,<=7.0.79

漏洞复现

Tomcat 远程代码执行(CVE-2019-0232)

  1. TomcatServlet是在conf/web.xml配置的,通过配置文件可知,当后缀名为.jsp.jspx的时候,是通过JspServlet处理请求的,而其他的精通文件是通过DefaultServlet处理的;

  2. 可以得知:"1.jsp "(末尾有一个空格)并不能匹配到JspServlet,而是会交由DefaultServlet去处理;

  3. 当处理PUT请求时:
    会调用resources.bind:dirContextFileDirContext:调用rebind创建文件,又由于Windows不允许" “(空格)作为文件名结尾,所以会创建一个”.jsp"文件,导致代码执行

  4. 该漏洞存在于启用了enableCmdLineArguments选项的CGI Servlet中,与JREWindows传递参数过程中的bug有关。成功利用此漏洞可允许远程攻击者在目标服务器上执行任意命令,从而导致服务器被完全控制。

  5. 触发该漏洞需要同时满足以下条件:

    系统为Windows

    启用了CGI Servlet【默认为关闭】;

    启用了enableCmdLineArgumentsTomcat 9.0.*及官方未来发布版本默认为关闭】

影响范围

9.0.0.M1 ~ 9.0.17,
8.5.0 ~ 8.5.39
7.0.0 ~ 7.0.93

漏洞复现

参考文章1

参考文章2

Tomcat + 弱口令 && 后台getshell漏洞

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

manager(后台管理)

1、manager-gui 拥有html页面权限

2、manager-status 拥有查看status的权限

3、manager-script 拥有text接口的权限,和status权限

4、manager-jmx 拥有jmx权限,和status权限

host-manager(虚拟主机管理)

1、admin-gui 拥有html页面权限

2、admin-script 拥有text接口权限

在conf/tomcat-users.xml文件中配置用户的权限

影响版本

Tomcat8.x,Tomcat7.x

漏洞复现

参考文章1

参考文章2

Tomcat manager App 暴力破解

参考文章1

参考文章2

JBoss

jBoss是一个基于J2EE的开发源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB1.1EJB 2.0EJB3的规范。但JBoss核心服务不包括支持servlet/JSPWEB容器,一般与TomcatJetty绑定使用。

默认端口:8080、9990

Windows下Jboss安装:

  1. 下载http://jbossas.jboss.org/downloads/

  2. 解压,我这里解压后的目录为:C:\jboss-6.1.0.Final

  3. 新建环境变量:JBOSS_HOME 值为:C:\jboss-6.1.0.Final
    path中加入:;%JBOSS_HOME%\bin;

  4. 打开C:\jboss-6.1.0.Final\bin ,双击run.bat。出现info消息,即配置成功。

    Note:注意JDK版本要在1.6~1.7之间,1.8版本 jBoss运行打开JMX Console会出现500错误。

jboss默认部署路径:

C:\jboss-6.1.0.Final\server\default\deploy\ROOT.war

设置外网访问,将

C:\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\server.xml
<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector protocol="HTTP/1.1" port="${jboss.web.http.port}" address="${jboss.bind.address}" 
   redirectPort="${jboss.web.https.port}" />

address=”${jboss.bind.address}” 设置为address=”0.0.0.0” ,并重启JBoss

JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

参考文章1

参考文章2

war后门文件部署

漏洞复现

weblogic

WebLogic是美国Oracle公司出品的一个applicationserver,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

默认端口:7001

下载地址

https://download.oracle.com/otn/nt/middleware/11g/wls/1036/wls1036_win32.exe?AuthParam=1559386164_88cf328d83f60337f08c2c94ee292954

下载完成后双击运行,一直点下一步就ok了。

安装完成之后,在

C:\Oracle\Middleware\user_projects\domains\base_domain

这个目录双击startWebLogic.cmd启动Weblogic服务。

浏览器访问:http://127.0.0.1:7001/, 界面上出现Error 404–Not Found,即启动成功。

设置外网访问,在 域结构 -> 环境 -> 服务器

右边选择相应的Server(管理服务器),打开进行编辑,在监听地址:中填入0.0.0.0,保存后,重启Weblogic服务器即可。

在这里插入图片描述

XMLDecoder 反序列化漏洞(CVE-2017-10271)

漏洞复现参考文章

Weblogic 反序列化远程代码执行漏洞(CVE-2019-2725)

参考文章

Weblogic 反序列化命令执行漏洞(CVE-2018-2628)

漏洞复现

Weblogic 任意文件上传漏洞(CVE-2018-2894)

漏洞复现

Weblogic SSRF漏洞 (CVE-2014-4210)

漏洞复现

Weblogic 弱口令

weblogic的后台登录界面存在弱口令。

weblogic常用弱口令

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

poggioxay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值