首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏网络安全攻防

    JEP290攻防对抗

    JEP290简介 JEP290增强机制是在2016年提出的一个针对JAVA 9的一个新特性,用于缓解反序列化攻击,随后官方决定向下引进该增强机制,分别对JDK 6,7,8进行了支持: Java SE Development Java SE Development Kit 7, Update 131 (JDK 7u131) Java SE Development Kit 6, Update 141 (JDK 6u141) JEP290 提供一个限制反序列化类的机制,白名单或者黑名单 限制反序列化的深度和复杂度 为RMI远程调用对象提供了一个验证类的机制 定义一个可配置的过滤机制,比如可以通过配置properties文件的形式来定义过滤器 JEP290 JEP290绕过 实现原理 在RMI远程方法调用过程中,方法参数需要先序列化,从本地JVM发送到远程JVM,然后在远程JVM上反序列化,执行完后再将结果序列化,发送回本地JVM,而本地的参数是我们可以控制的 /blogs/766093/posts/3135411 https://mogwailabs.de/en/blog/2019/03/attacking-java-rmi-services-after-jep

    82610发布于 2021-07-21
  • 来自专栏网络安全攻防

    JAVA安全之JEP290攻防对抗录

    JEP290简介 JEP290增强机制是在2016年提出的一个针对JAVA 9的一个新特性,用于缓解反序列化攻击,随后官方决定向下引进该增强机制,分别对JDK 6,7,8进行了支持: Java SE Development Java SE Development Kit 7, Update 131 (JDK 7u131) Java SE Development Kit 6, Update 141 (JDK 6u141) JEP290 提供一个限制反序列化类的机制,白名单或者黑名单 限制反序列化的深度和复杂度 为RMI远程调用对象提供了一个验证类的机制 定义一个可配置的过滤机制,比如可以通过配置properties文件的形式来定义过滤器 JEP290 Status.REJECTED : Status.ALLOWED; } JEP290绕过 实现原理 在RMI远程方法调用过程中,方法参数需要先序列化,从本地JVM发送到远程JVM,然后在远程JVM上反序列化 /blogs/766093/posts/3135411 https://mogwailabs.de/en/blog/2019/03/attacking-java-rmi-services-after-jep

    36910编辑于 2024-12-20
  • 来自专栏技术猫屋

    JEP290的基本概念

    JEP290 0x01 什么是JEP? JDK Enhancement Proposal 简称JEP,是 JDK 增强提议的一个项目,目前索引编号已经达到了JEP415,本文重点来谈谈什么是JEP290,JEP290做了哪些事,JEP290绕过的方法总结等 0x02 什么是JEP290? Serialization Data JEP290 是 Java 为了防御反序列化攻击而设置的一种过滤器,其在 JEP 项目中编号为290,因而通常被简称为JEP290 0x03 JEP290的适用范围 值得注意的点 JEP290需要手动设置,只有设置了之后才会有过滤,没有设置的话就还是可以正常的反序列化漏洞利用 JEP290默认只为 RMI 注册表(RMI Register层)、 RMI分布式垃圾收集器

    90430编辑于 2023-01-03
  • 来自专栏FreeBuf

    分析JEP 290机制的Java实现

    简介 JEP290是Java官方提供的一套来防御反序列化的机制,其核心在于提供了一个ObjectInputFilter接口,通过设置filter对象,然后在反序列化(ObjectInputStream# JEP 290 在 JDK 9 中加入,但在 JDK 6,7,8 一些高版本中也添加了: Java? ObjectInputFilter$Config$Global 接着上面的分析,我们跟进该类的createFilter方法 将传入的JEP规则字符串var0传入Global内部静态类的构造方法中,创建了一个 查看官方文档,我们知道JEP 290的编写规则为: 如果模式以“!”开头,如果模式的其余部分匹配,则该类被拒绝,否则被接受 如果模式包含“/”,则“/”之前的非空前缀是模块名称。

    91100编辑于 2022-11-14
  • 来自专栏码农小胖哥的码农生涯

    Java 14 新特性之JEP 359: Records(Preview)

    前言 本月(2020-03) Java 14 就该正式发布了,有一个 Java 社区呼唤已久的特性将作为 preview feature包含在 Java 14 中 ,这就是 JEP 359: Records

    1.1K30发布于 2020-03-05
  • 来自专栏深度学习与python

    Java 新闻:JEP 423、Quarkus 2.7.0、Micronaut Serialization、JReleaser等

    作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 2022 年 1 月 31 日的 Java 每周新闻综述,主要介绍了 OpenJDK(JEP 423)、JDK 18 OpenJDK JEP 423(Region Pinning for G1)从草案状态提升为候选状态。 该 JEP 提案通过在 G1 垃圾收集器中实现区域钉选(region pinning)来减少 GC 延迟。

    1.4K30编辑于 2022-03-23
  • 来自专栏深度学习与python

    JEP 456:准备删除 Unsafe 中的内存访问方法

    译者 | 平川 策划 | 丁晓昀 JEP 471(弃用 sun.misc.Unsafe 中的内存访问方法以备删除)已经在 JDK 23 中发布。 该 JEP 建议弃用 Unsafe 类中的内存访问方法,以便在将来的版本中删除。 这些不再支持的方法已经被标准 API 所取代:JEP 193(变量句柄,已在 JDK 9 中交付)和 JEP 454(外部函数和内存 API,已在 JDK 22 中交付)。 VarHandle API(即在 JDK 9 中交付的 JEP 193)提供了安全操作堆内存的方法,可以确保操作有效执行并且不会出现未定义的行为。 外部函数和内存 API(即在 JDK 22 中交付的 JEP 454)提供了安全的堆外内存访问方法,通常与 VarHandle 搭配使用来管理 JVM 堆内和堆外内存。

    79210编辑于 2024-06-27
  • 来自专栏深度学习与python

    JEP 447 已发布,可在构造函数的 super()调用之前执行语句

    Oracle 技术顾问成员 Gavin Bierman 为 Java 社区提供了这个 JEP 的初始规范,供社区评审并提供反馈意见。 JEP 447 放宽了这些限制,允许在显式构造函数调用之前出现不引用正在创建的实例的语句。 有了 JEP 447,这个过程变得更加简洁和直观。 这种直接的方法增强了可读性,减少对使用辅助方法的需求,展示了 JEP 447 在实际应用场景中的好处。 JEP 447 不仅提供了更大的灵活性,还保留了构造函数行为的基本保证,确保子类构造函数不会干扰超类的实例化。

    93810编辑于 2024-01-23
  • 来自专栏深度学习与python

    Java 近期新闻:OpenJDK JEP、Spring 更新、Payara 平台和 Kotlin 1.6

    JEPJEP 412(第一个孵化器,包含在 JDK 17 中)演化而来,根据 Java 社区的反馈做了改进,变化包括:支持更多的内存访问句柄,如 boolean 和 MemoryAddress JEP 419 的评审将在 2021 年 11 月 23 号结束。 instanceof 的模式匹配(JEP 394)包含在 JDK 16 中。 JEP 422,即 Linux/RISC-V 移植,从 Draft 阶段进入到 Candidate 阶段。 JDK 18 目前的特性集合如下: JEP 400:默认字符集为 UTF-8; JEP 408:Simple Web Server; JEP 413:Java API 文档中加入了代码片段; JEP 416 :通过方法句柄重新实现代码反射; JEP 417:Vector API(第三个孵化器); JEP 418:网路地址解析 SPI; JEP 419: 外部函数和内存 API (第二个孵化器); JEP 420

    2K30发布于 2021-12-01
  • 来自专栏HikariLan's Blog

    —— 浅谈 JEP 445

    由 ChatGPT 生成的文章摘要 这篇文章主要介绍了Java JEP 445,即预览中的JEP,引入了两个机制:未命名类和实例main方法,用于简化Java的main方法声明。 这篇帖子的文章内容只有这样一张图片: 如果你是一位苦逼的 Java 程序员,那么当你看到这张图的时候也许震惊的会跳起来,但是如果你没有看懂,那就且听我细细往下说…… JEP 445 的前世今生 JEP 事实上,JEP 445 早在 2023 年 2 月就被创建了,单之所以刚刚才火,是因为 OpenJDK 14 个小时前才批准了这个 JEP 的代码实现:JDK-8306112 Implementation 那么,JEP 445 到底引入了一套什么样的机制呢? 这篇 Reddit 文章下的高赞评论给出了 JEP 445 的链接,随后提问到:“这将是 Java 模板代码梗的末日吗”,我想,至少在 JEP 445 中,这种痛苦还远未结束吧。

    71730编辑于 2023-10-18
  • 来自专栏深度学习与python

    JEP 428:结构化并发,简化 Java 多线程编程

    作者 | A N M Bazlur Rahman 译者 | 明知山 策划 | 丁晓昀 JEP 428,即结构化并发 (孵化器阶段),已经从 Proposed 状态进入到 Target 状态。 在 Project Loom 的框架下,这个 JEP 提议引入一个库,将在不同线程中运行的多个任务视为原子操作,以此来简化多线程编程。它可以简化错误处理和取消操作,提高可靠性,并增强可观察性。 这个 API 运行在 JEP 425 之上——虚拟线程 (预览阶段),发布目标也为 JDK 19。

    68110编辑于 2023-03-29
  • 来自专栏程序猿DD

    Java 近闻:JDK 20、新的 JEP 草案、JobRunr 6.0、GraalVM 22.3.1

    Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 8300684(预览特性:一个向后,一个向前)。 该草案建议重新评审 JEP 12(预览特性)引入的预览过程,以便对该过程进行潜在的持续改进。 Oracle 技术团队主要成员 Wang Jun更新 了 JEP Draft 8301034(Key Encapsulation Mechanism API),这个 JEP 建议:满足标准 密钥封装机制 JDK 20 的最后 6 个特性包括: JEP 429:作用域值(孵化器); JEP 432:记录模式(第二次预览); JEP 433:switch 的模式匹配(第四次预览); JEP 434:外部函数和内存 API(第二次预览); JEP 436:虚拟线程(第二次预览); JEP 437:结构化并发(第二轮孵化器)。

    1.1K20编辑于 2023-02-24
  • 来自专栏JAVA体系

    JEP 446 解析:ScopeValue 不可变特性与动态作用域深度剖析

    1、ScopeValue 的核心特性ScopeValue 是 Java 21 (JEP 446) 引入的一个孵化中的 API(孵化状态在后续版本中可能移除),旨在提供一种更优越、更结构化的方式来共享不可变数据

    22510编辑于 2025-11-18
  • 来自专栏深度学习与python

    Java 近期新闻:新 JEP、GraalVM 23 早期访问构建、Infinispan、Mojarra

    作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 OpenJDK 上周,JEP 440(记录模式)已从 JEP Draft 8300541提升 到 Candidate JEP 432 最重要的变化是不再支持在增强for语句头中使用记录模式。 类似地,JEP 441(switch 模式匹配)已经从 JEP Draft 8300542提升 到 Candidate 状态。 该 JEP 最终确定了这一特性,并针对前 4 轮的预览反馈做了增强:JEP 433(switch 模式匹配第 4 次预览),在 JDK 20 中交付;JEP 427(switch 模式匹配第 3 次预览 这个 JEP 基于之前的反馈做了改进:JEP 434(外部函数和内存 API 第 2 次预览),在 JDK 20 中交付;JEP 424(外部函数和内存 API 预览),在 JDK 19 中交付;JEPJEP 建议根据前 2 轮预览的反馈最终确定这一特性:JEP 436(虚拟线程第 2 次预览),在 JDK 20 中交付;JEP 425(虚拟线程预览),在 JDK 19 中交付。

    1.7K30编辑于 2023-04-01
  • 来自专栏可信ai

    为“养虾人”装上安全护栏:JEP Guard 插件开发实践

    这正是JEP 开发JEP Guard的初衷——为OpenClaw装上“安全护栏”。 三、JEP Guard:给龙虾装上“刹车” 3.1 什么是JEP Guard? JEP Guard是其首个面向普通用户的落地应用。 基于JEP协议的责任链设计 JEP Guard遵循JEP协议的四个原语设计:Judge(创建责任)、Delegate(转移责任)、Terminate(结束责任)、Verify(验证责任)。 # 设置日志级别(推荐minimal) claw run jep-guard config set logLevel minimal # 生成JEP密钥对(可选) claw run jep-guard JEP协议的跨平台收据验证工具 八、开源与共建 JEP Guard完全开源,采用MIT-0许可证,欢迎开发者参与共建: - GitHub仓库:[https://github.com/jep-eth/jep-claw-integration

    28650编辑于 2026-03-12
  • 来自专栏深度学习与python

    Java 近期新闻:Payara Platform 2022 路线图、OpenJDK JEP 草案、Gradle 7.4

    OpenJDK 近日,有两份 JEP 草案被纳入审核,它们是 OpenJDK 未来版本的候选特性。 JEP 草案 8280836——序列化集合——提议引入“一个新的接口家族,表示其中元素按顺序排列这样一个集合的概念,作为集合的结构属性。”该提案的产生是因为集合框架中缺少明确的排序和统一的操作集。 JEP 草案 8280173——向量 API(四阶段孵化)——提议根据 Java 社区对之前 3 个 JEP 的反馈引入功能增强。 这 3 份提案分别是 JDK 16 的 JEP 338——向量 API(孵化阶段);JDK 17 的 JEP 414——向量 API(二阶段孵化);以及 JEP 417——向量 API(三阶段孵化)——

    1K20编辑于 2022-03-23
  • 来自专栏深度学习与python

    Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案

    作者 | Michael Redlich 译者 | 刘雅梦 策划 | 丁晓昀 OpenJDK 甲骨文(Oracle)的软件架构师 Maurizio Cimadamore 已经提交了 JEPJEP 提议在经过两轮孵化和三次预览后最终确定该特性:JEP 412,外部函数和内存 API(孵化阶段),在 JDK 17 中交付;JEP 419,外函数与内存 API(第二轮孵化),在 JDK 18 中交付;JEP 424,外部函数和内存 API(预览版),在 JDK 19 中发布;JEP 434,外部函数和内存 API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数和内存 Cimadamore 和甲骨文技术人员顾问成员 Per-Åke-Minborg 还提交了 JEP Draft 8312611,计算常量(Computed Constants)。 该 JEP 提议“增强 Java 虚拟机加载 Java 应用程序和编译成本机代码库的能力,以实现更快的启动和基线执行”。

    1.2K30编辑于 2023-09-08
  • 来自专栏深度学习与python

    Java 近期新闻:外部函数和内存 API、OpenJDK JEP、Apache Tomcat CVE

    JEP 建议在经历了两轮孵化和三轮预览之后确定这个特性:在 JDK 17 中交付的 JEP 412(外部函数和内存 API(孵化器))、在 JDK 18 中交付的 JEP 419(外部函数和内存 API (第二轮孵化器))、在 JDK 19 中交付的 JEP 424(外部函数和内存 API(预览))、在 JDK 20 中交付的 JEP 434(外部函数和内存 API(第二次预览)),以及在 JDK 21 JEP 460(Vector API(第七轮孵化器))已从 JEP Draft 8315945 进入到 Candidate 状态。 这个 JEP 整合了针对前六轮孵化的增强:在 JDK 21 GA 版本中交付的 JEP 448( Vector API (第六轮孵化器))在 JDK 20 中交付的 JEP 438(Vector API 17 中交付的 JEP 414(Vector API (第二轮孵化器))、在 JDK 16 中作为孵化器模块发布的 JEP 338(Vector API (孵化器))。

    92410编辑于 2023-10-24
  • 来自专栏深度学习与python

    Java 近期新闻:JDK 20、新的 JEP 草案、JobRunr 6.0、GraalVM 22.3.1

    Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 8300684(预览特性:一个向后,一个向前)。 该草案建议重新评审 JEP 12(预览特性)引入的预览过程,以便对该过程进行潜在的持续改进。 Oracle 技术团队主要成员 Wang Jun更新 了 JEP Draft 8301034(Key Encapsulation Mechanism API),这个 JEP 建议:满足标准 密钥封装机制 JDK 20 的最后 6 个特性包括: JEP 429:作用域值(孵化器); JEP 432:记录模式(第二次预览); JEP 433:switch 的模式匹配(第四次预览); JEP 434:外部函数和内存 API(第二次预览); JEP 436:虚拟线程(第二次预览); JEP 437:结构化并发(第二轮孵化器)。

    97420编辑于 2023-03-29
  • 来自专栏深度学习与python

    Java 近期新闻:Loom 和 Panama 项目相关 JEP、JobRunr 5.1.0、Kotlin 1.7.0 预览

    OpenJDK 经过一周的评审,JDK 19 相关 JEP 425(虚拟线程预览)已经从 Proposed to Target 状态提升到 Targeted 状态。 在 Loom 项目的支持下,这个 JEP 引入了虚拟线程(轻量级线程),极大地减少了在 Java 平台上编写、维护和观测高吞吐量并发应用程序的工作量。 在 Amber 项目的支持下,该 JEP 整合了基于前两个预览版的反馈所做的改进:JEP 406(Switch 模式匹配预览版,在 JDK 17 中交付)和 JEP 420(Switch 模式匹配第二个预览版 JDK 19 相关 JEP 424(外部函数和内存 API 预览版)已经从候选状态提升至 Proposed to Target 状态。 在 Panama 项目的支持下,该 JEP 发展了 JEP 419(外部函数和内存 API 第二轮孵化,在 JDK 18 中交付)和 JEP 412(外部函数与内存 API 第一轮孵化,在 JDK 17

    1.5K30编辑于 2022-06-13
领券