91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java反序列化之commons-beanutils分析

發布時間:2020-04-02 10:58:33 來源:網絡 閱讀:2145 作者:fatshi 欄目:安全技術

TemplatesImpl類是一個可序列化的類,其中有一個屬性_bytecodes,里面保存的數據在defineTransletClasses函數里將會被加載成類:
Java反序列化之commons-beanutils分析
Java反序列化之commons-beanutils分析

存在著這樣一條調用鏈條:
Java反序列化之commons-beanutils分析
簡單來說,只要是能調用到getOutputProperties函數,就能觸發包含在_bytecodes里的類構造函數被執行(這個類是由***者來實現的)。

Payload第一部分:
Java反序列化之commons-beanutils分析
創建了一個BeanComparator對象,將其作為參數用來創建一個PriorityQueue,向queue對象中添加兩個大整數對象(占位用)。
接著通過反射機制設置了comparator后面將會對比對象的屬性為outputProperties。

Payload第二部分:
Java反序列化之commons-beanutils分析
通過反射機制修改queue中數組保存的對比對象為內置了***代碼的templates。
返回queue,將其生成序列化數據。

漏洞觸發邏輯:
反序列化的queue的時候,其對應的PriorityQueue類readObject函數會依次讀取序列化數據中的元素,放入到隊列中。然后,調用heapify函數進行排序操作。
Java反序列化之commons-beanutils分析
最終,會調用到siftDownUsingComparator函數,其中會調用comparator的compare方法:
Java反序列化之commons-beanutils分析
compare方法中將會調用被對比對象的對應屬性get方法,這里的o1,o2就是之前傳入的templates對象,this.property就是之前通過反射機制修改的outputProperties。因此,最終就調用了TemplatesImpl的getOutputProperties函數,觸發POC代碼執行:
Java反序列化之commons-beanutils分析

Java反序列化之commons-beanutils分析

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

百色市| 扎兰屯市| 松桃| 莱州市| 博爱县| 佛山市| 上蔡县| 行唐县| 定结县| 兴山县| 新闻| 濮阳市| 龙里县| 辽阳市| 宜君县| 马鞍山市| 阿图什市| 龙口市| 石门县| 瓮安县| 吉木乃县| 虎林市| 长岭县| 彭州市| 仁布县| 美姑县| 垫江县| 双峰县| 洛阳市| 新乐市| 中阳县| 通道| 衡南县| 龙泉市| 朔州市| 林芝县| 太康县| 麻阳| 富阳市| 满城县| 武夷山市|