原文來自安全客,作者:Ivan1ee@雲影實驗室
原文鏈接:https://www.anquanke.com/post/id/172316
相關閱讀:
- 《.NET 高級代碼審計(第二課) Json.Net 反序列化漏洞》
- 《.NET高級代碼審計(第三課)Fastjson反序列化漏洞》
- 《.NET高級代碼審計(第四課) JavaScriptSerializer 反序列化漏洞》
- 《.NET高級代碼審計(第五課) .NET Remoting反序列化漏洞》
- 《.NET高級代碼審計(第六課) DataContractSerializer反序列化漏洞》
0X00 前言
在.NET 框架中的 XmlSerializer 類是一種很棒的工具,它是將高度結構化的 XML 數據映射為 .NET 對象。XmlSerializer類在程序中通過單個 API 調用來執行 XML 文檔和對象之間的轉換。轉換的映射規則在 .NET 類中通過元數據屬性來表示,如果程序開發人員使用Type類的靜態方法獲取外界數據,並調用Deserialize反序列化xml數據就會觸發反序列化漏洞攻擊(例如DotNetNuke 任意代碼執行漏洞 CVE-2017-9822),本文筆者從原理和代碼審計的視角做了相關腦圖介紹和復現。