Java 反序列化取经路

admin 2023年1月1日16:05:35安全博客评论5 views3439字阅读11分27秒阅读模式

Java 反序列化相关学习笔记、研究内容目录,持续更新ing...

(注:其实这种调用链非常复杂的漏洞调试文章,写出来基本没什么用,写的都是谁调用了谁,怎么想办法让这个 if else 走到这个调用点这一类的,如果只是为了构造 payload,那还好说,但是如果站在更高层面,如漏洞挖掘,0 day 防御这种目标的话,还是要了解思想,不能光看调用,而且如果你不自己动态调试,光看文章说的天花乱坠也是没用的,我在学的时候看其他人的文章也是一头雾水,调试过了才会理解构造的过程,不过依旧是一个学习记录的过程,当流水账般的日记发出来而已)

前置知识

ysoserial 补全计划

特别鸣谢:0range 师傅的相关博客

以下红色为入口点(kick-off),紫色为触发点(sink),其余为中间的调用链(chain)

其他反序列化

一些项目的了解和学习

ysuserial

魔改

目前已经完成魔改尝鲜版,支持了若干功能,可以在如下地址观看:

https://github.com/su18/ysoserial

已经打包好的 jar 包点击如下链接下载:

https://github.com/su18/ysoserial/releases/download/v0.1/ysuserial-0.1-su18-all.jar

一些总结

AnnotationInvocationHandler 作用

在反序列化 gadget 中多次遇到 AnnotationInvocationHandler 这个类,那么他在反序列化漏洞的利用中都可以起到什么样的作用呢?

一些以前没有注意过的点

  • Method 对象可以反序列化出去用
  • 之前提到反序列化,一直盯着类的 readObject 方法看,实际上一个类的相关漏洞 writeObject 方法也许更重要。
  • Class.forName() 可以指定 ClassLoader。

漏洞调试有感

弹计算器比找女朋友有意思多了。

FROM:素十八[su18]

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月1日16:05:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Java 反序列化取经路 http://cn-sec.com/archives/1493653.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: