目錄
- 一、序列化和反序列化
- 二、Java序列化演示
- 三、反序列化漏洞
一、序列化和反序列化
1、含義
? 序列化就是記憶體中的物件寫入到IO流中,保存的格式可以是二進制或者文本內容,反序列化就是IO流還原成物件,
2、用途
(1)傳輸網路物件
(2)保存Session
二、Java序列化演示
1、序列化
java.io.ObjectOutputStream代表物件輸出流,它的writeObject()方法可對引數指定的物件進行序列化,把得到的位元組序列寫到一個目標輸出流中,
2、反序列化
java.io.ObjectInputStream代表物件輸入流,它的readObject()方法從一個源輸入流中讀取位元組序列,再把它們反序列化為一個物件,并將其回傳,
三、反序列化漏洞
1、如果某個類需要自定義反序列化方式,可以重寫類的readObject()方法,
2、在反序列化的程序中,會呼叫這個類的重寫readObject()方法,
3、如果readObject()方法的代碼有一些敏感操作,就可能會引發漏洞,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551216.html
標籤:其他
下一篇:返回列表
