最新消息:图 床

Java 反序列化: 基於 CommonsCollections4 的 Gadget 分析

COOL IAM 226浏览 0评论

作者:welkin@京東安全
公眾號:京東安全

本文主要分為兩方面,其一是基於PriorityQueue類的序列化對象的構造,另一方面是PriorityQueue對象在反序列化過程中惡意代碼的觸發原理。

背景及概要

隨着Java應用的推廣和普及,Java安全問題越來越被人們重視,縱觀近些年來的Java安全漏洞,反序列化漏洞佔了很大的比例。就影響程度來說,反序列化漏洞的總體影響也明顯高於其他類別的漏洞。

在反序列化漏洞的利用過程中,攻擊者會構造一系列的調用鏈以完成其攻擊行為。如何高效的生成符合條件且可以穩定利用的攻擊Payload成為了攻擊鏈條中的重要一環,當前已經有很多現成的工具幫助我們完成Payload的生成工作。本文主要以Ysoserial工具為例分析了基於org.apache.commons.collections4類庫的Gadget,其通過構造一個特殊的PriorityQueue對象,將其序列化成字節流后,在字節流反序列化的過程中觸發代碼執行。

更多關於Ysoserial的信息,請參考:

https://github.com/frohoff/ysoserial

本文主要分為兩方面,其一是基於PriorityQueue類的序列化對象的構造,另一方面是PriorityQueue對象在反序列化過程中惡意代碼的觸發原理。下文將從這兩方面展開描述一些細節以及實際測試時的一些問題,整體的流程如圖1-1所示。

转载请注明:IAMCOOL » Java 反序列化: 基於 CommonsCollections4 的 Gadget 分析

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x