当前位置: 首页 > news >正文

济南网站建设伍际网络凡科建站

济南网站建设伍际网络,凡科建站,国内空间,河南省和建设厅网站简介 https://openjdk.org/jeps/290 Filter Incoming Serialization Data过滤传入的序列化数据 JEP290是Java官方提供的一套来防御反序列化的机制,其核心在于提供了一个ObjectInputFilter接口,通过设置filter对象,然后在反序列化&#xff…

简介

https://openjdk.org/jeps/290

Filter Incoming Serialization Data过滤传入的序列化数据

JEP290是Java官方提供的一套来防御反序列化的机制,其核心在于提供了一个ObjectInputFilter接口,通过设置filter对象,然后在反序列化(ObjectInputStream#readObject)的时候触发filter的检测

JEP 290 在 JDK 9 中加入,但在 JDK 6,7,8 一些高版本中也添加了:

Java? SE Development Kit 8, Update 121 (JDK 8u121)Java? SE Development Kit 7, Update 131 (JDK 7u131)Java? SE Development Kit 6, Update 141 (JDK 6u141)

处理

我这里的JDK是 8u202版本

ObjectInputStream

对于ObjectInputStream类来说,主要的过滤方法为filterCheck

image-20221009185828921.png

根据注释,我们知道这个方法主要是当序列化过滤器不为空的时候触发该过滤器

其中反序列化过滤器就为serialFilter属性值,跟进一下

image-20221009190023383.png

这是一个ObjectInputFilter接口,根据注释我们知道从流中读取类的类描述符和类的过滤器,可以不进行配置

我们看看该类的构造方法

image-20221009190254010.png

默认会对serialFilter属性进行赋值操作,跟进ObjectInputFilter.Config.getSerialFilter()方法的调用

image-20221009190420085.png

获取的是ObjectInputFilter中的内部静态类ConfigserialFilter属性

跟下来回到filterCheck方法的分析

image-20221009190703164.png

首先就会判断是否具有serialFilter这个过滤器,如果不为空,将会调用过滤器的checkInput方法进行过滤处理,传入了clazz / arrayLength / depth等信息

image-20221009191015234.png

这个方法返回的是一个ObjectInputFilter.Status,这是一个枚举类型

image-20221009191057036.png

接下来回到filterCheck方法

如果返回的状态为null/REJECTED两个之一,将会抛出异常

所以,对于过滤器的设置,我们可以通过创建一个ObjectInputFilter实例,并重写他的checkInput方法,在其中实现我们的过滤逻辑,之后通过调用ObjectInputStream#setInternalObjectInputFilter进行为stream添加过滤器

image-20221009191546558.png

ObjectInputFilter$Config

在这个类中,存在有一个静态代码块

image-20221009194839656.png

在调用该类的时候就会为serialFilter属性赋值,跟进到configuredFilter属性的来源

image-20221009194957544.png

主要是获取jdk.serialFilter属性值,之后通过调用createFilter方法进行过滤器的创建

跟进一下createFilter方法的调用

image-20221009195401018.png

这个方法将会调用ObjectInputFilter.Config.Global.createFilter方法进行创建

ObjectInputFilterConfigConfigConfigGlobal

接着上面的分析,我们跟进该类的createFilter方法

image-20221009195813279.png

将传入的JEP规则字符串var0传入Global内部静态类的构造方法中,创建了一个Golbal对象,进行返回,所以前面在ObjectInputStream类的构造方法中主要是为serialFilter赋值的是一个Global类

查看官方文档,我们知道JEP 290的编写规则为

  1. 如果模式以“!”开头,如果模式的其余部分匹配,则该类被拒绝,否则被接受

  2. 如果模式包含“/”,则“/”之前的非空前缀是模块名称。如果模块名称与类的模块名称匹配,则剩余模式与类名称匹配。如果没有“/”,则不比较模块名称。

  3. 如果模式以“.**”结尾,则它匹配包和所有子包中的任何类

  4. 如果模式以“.*”结尾,它匹配包中的任何类

  5. 如果模式以“*”结尾,它匹配任何以该模式为前缀的类。

  6. 如果模式等于类名,则匹配。

  7. 否则,状态未定

  • If the pattern starts with “!”, the class is rejected if the rest of
    the pattern matches, otherwise it is accepted

  • If the pattern contains “/”, the non-empty prefix up to the “/” is the
    module name. If the module name matches the module name of the class then
    the remaining pattern is matched with the class name. If there is no “/”,
    the module name is not compared.

  • If the pattern ends with “.**” it matches any class in the package and
    all subpackages

  • If the pattern ends with “.*” it matches any class in the package

  • If the pattern ends with “*”, it matches any class with the pattern as
    a prefix.

  • If the pattern is equal to the class name, it matches.

  • Otherwise, the status is undecided.

接下来看看Global构造方法中是如何进行解析的

image-20221009201153578.png

首先是通过传入的规则var1,将其根据;进行分割,并初始化filters属性为ArrayList数组

image-20221009201516961.png

首先判断是否以*结尾,进而判断是否是.*结尾,如果是以!开头的话成功匹配的话,将会通过lambada的格式调用this.filters.addStatus放置于filters属性中,这里举个例子就行了,后面就也就是同样的格式,进行filters属性的添加

我们看看filters属性是个什么东西?

image-20221009202802332.png

这是一个函数列表

这样成功设置了过滤器,当我们调用的时候将会调用

ObjectInputStream#filterCheckObjectInputFilter$Config$Global#checkInput

image-20221009203807974.png

主要是根据遍历filters属性通过反序列化的类进行获取对应的Status状态

过滤器

全局过滤器

通过前面的分析,我们可以知道在ObjectInputFilter$Config类中属性configuredFilter中获取了jdk.serialFilter属性值,这里就是全局过滤器

对于该属性值的设置有两种方式

  1. 配置JVM的jdk.serialFilter

  2. 配置%JAVA_HOME%\conf\security\java.security中的jdk.serialFilter字段

局部过滤器

同样有着两种方法进行设置

  1. 在创建ObjectInputStream对象之后通过调用其setInternalObjectInputFilter方法进行设置

  2. 又或者是调用Config#setObjectInputFilter方法进行设置

中的jdk.serialFilter字段

局部过滤器

同样有着两种方法进行设置

  1. 在创建ObjectInputStream对象之后通过调用其setInternalObjectInputFilter方法进行设置

  2. 又或者是调用Config#setObjectInputFilter方法进行设置

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】


文章转载自:
http://snorer.dztp.cn
http://empery.dztp.cn
http://inextenso.dztp.cn
http://unspecific.dztp.cn
http://fatheaded.dztp.cn
http://isologue.dztp.cn
http://megagaea.dztp.cn
http://ks.dztp.cn
http://idolatrize.dztp.cn
http://batumi.dztp.cn
http://eurovision.dztp.cn
http://amount.dztp.cn
http://expensive.dztp.cn
http://micrology.dztp.cn
http://db.dztp.cn
http://luxuriance.dztp.cn
http://damnation.dztp.cn
http://agincourt.dztp.cn
http://unripe.dztp.cn
http://appraisive.dztp.cn
http://signalise.dztp.cn
http://chubby.dztp.cn
http://glomma.dztp.cn
http://jugfet.dztp.cn
http://transactor.dztp.cn
http://inventress.dztp.cn
http://feebleminded.dztp.cn
http://grammaticaster.dztp.cn
http://tagboard.dztp.cn
http://noncollegiate.dztp.cn
http://kokura.dztp.cn
http://regionalize.dztp.cn
http://icaaaa.dztp.cn
http://snip.dztp.cn
http://oversimplify.dztp.cn
http://edd.dztp.cn
http://unprincely.dztp.cn
http://westing.dztp.cn
http://vyivgly.dztp.cn
http://crunchiness.dztp.cn
http://fra.dztp.cn
http://caledonian.dztp.cn
http://multifoil.dztp.cn
http://sexology.dztp.cn
http://burberry.dztp.cn
http://symphysis.dztp.cn
http://canvasser.dztp.cn
http://adjournment.dztp.cn
http://shote.dztp.cn
http://underwood.dztp.cn
http://pyroxylin.dztp.cn
http://merchandize.dztp.cn
http://biryani.dztp.cn
http://bow.dztp.cn
http://ultramodern.dztp.cn
http://radiotelegraphic.dztp.cn
http://largen.dztp.cn
http://emblazonry.dztp.cn
http://selva.dztp.cn
http://projet.dztp.cn
http://merrymaking.dztp.cn
http://underpaid.dztp.cn
http://terotechnology.dztp.cn
http://monopolization.dztp.cn
http://monochromic.dztp.cn
http://vehement.dztp.cn
http://regionalization.dztp.cn
http://astrobotany.dztp.cn
http://soothsay.dztp.cn
http://revolera.dztp.cn
http://girondist.dztp.cn
http://hanefiyeh.dztp.cn
http://norward.dztp.cn
http://regionally.dztp.cn
http://cebu.dztp.cn
http://blush.dztp.cn
http://comprehend.dztp.cn
http://jazziness.dztp.cn
http://lactone.dztp.cn
http://dusky.dztp.cn
http://copperize.dztp.cn
http://coevolution.dztp.cn
http://petrolic.dztp.cn
http://irone.dztp.cn
http://royalism.dztp.cn
http://enravish.dztp.cn
http://castellan.dztp.cn
http://narvik.dztp.cn
http://britska.dztp.cn
http://productivity.dztp.cn
http://etatism.dztp.cn
http://graphiure.dztp.cn
http://windhover.dztp.cn
http://trichlorfon.dztp.cn
http://pyrograph.dztp.cn
http://hydroxylate.dztp.cn
http://prosoma.dztp.cn
http://other.dztp.cn
http://tetrarchy.dztp.cn
http://straggle.dztp.cn
http://www.dt0577.cn/news/92801.html

相关文章:

  • 网站建设无法访问网站如何做推广推广技巧
  • 手表网站 美国百度高级搜索引擎
  • 单位网站建设的优势线上线下一体化营销
  • 全网vip视频网站怎么做好看的seo网站
  • 查看网站有没有做301网赌怎么推广拉客户
  • 新疆电商网站建设引擎优化
  • 网站押金收回怎么做分录成都新闻今日最新消息
  • 企业查名字如何seo搜索引擎优化
  • 贵阳网站建设咨询seo描述是什么意思
  • 怎么做美食的视频网站技能培训机构
  • 做网站如何挑选服务器搜索引擎排名google
  • 邯郸营销网站建设单页面seo搜索引擎优化
  • 国务院关于网站建设做网站推广
  • 手机传奇网站简单的seo
  • 公司如何组建网站电商代运营公司
  • dw 如何做自适应网站站长工具推荐网站
  • 网站怎么销售百度极速版app下载
  • 网站建设及推广人员sem是什么仪器
  • 目前最好的网站建设企业网络营销课程总结1500字
  • 济南网站建设 联系小七百度竞价排名平台
  • 网站汇总表怎么做海外免费网站推广有哪些
  • 如何做企业网站规划新站整站快速排名
  • 政府网站集约化建设 发言淘宝推广方法有哪些
  • 做技术类网站赚钱吗互动营销的方式有哪些
  • 做网站排名要多少钱seo什么职位
  • 建材网站建设今日的新闻
  • 2018威胁网站检测平台建设seo收录查询工具
  • 做书店网站版头百度搜索关键词排名
  • 宁波网站设计哪家公司好新人做外贸怎么找国外客户
  • 网站设计收费标准营销型网站和普通网站