fastjson反序列化漏洞就是指攻擊者通過Fastjson可以將java的對象轉換成json的形式可以傳入一個惡意構造的JSON內容,程序對其進行反序列化后得到惡意類并執行了惡意類中的惡意函數,進而導致代碼執行。
在某些情況下進行反序列化時會將反序列化得到的類的構造函數、getter方法、setter方法執行一遍,如果這三種方法中存在危險操作,則可能導致反序列化漏洞的存在。換句話說,就是攻擊者傳入要進行反序列化的類中的構造函數、getter方法、setter方法中要存在漏洞才能觸發。
漏洞原理總結
- 若反序列化指定類型的類如“Student obj = JSON.parseObject(text, Student.class);”,該類本身的構造函數、setter方法、getter方法存在危險操作,則存在Fastjson反序列化漏洞; - 若反序列化未指定類型的類如“Object obj = JSON.parseObject(text, Object.class);”,該若該類的子類的構造方法、setter方法、getter方法存在危險操作,則存在Fastjson反序列化漏洞。
回答所涉及的環境:聯想天逸510S、Windows 10。
fastjson反序列化漏洞就是指攻擊者通過Fastjson可以將java的對象轉換成json的形式可以傳入一個惡意構造的JSON內容,程序對其進行反序列化后得到惡意類并執行了惡意類中的惡意函數,進而導致代碼執行。
在某些情況下進行反序列化時會將反序列化得到的類的構造函數、getter方法、setter方法執行一遍,如果這三種方法中存在危險操作,則可能導致反序列化漏洞的存在。換句話說,就是攻擊者傳入要進行反序列化的類中的構造函數、getter方法、setter方法中要存在漏洞才能觸發。
漏洞原理總結
回答所涉及的環境:聯想天逸510S、Windows 10。