簡體   English   中英

C#-針對本地.xsd安全問題驗證xml文件

[英]C# - Validating xml file against local .xsd security issues

這不是安全問題嗎? 即使針對該架構對xml進行了驗證,攻擊者仍然可以修改本地.xsd文件並將其更改為允許他們想要的任何內容。 .xsd文件應放在哪里? 以及如果將文件存儲在安全的位置,如何安全地訪問該文件,以便可以將其用於.NET中的xml驗證

你的情況是:

  • 錯誤的參與者希望通過向您傳遞錯誤的XML來攻擊您的系統,這會導致發生錯誤的情況
  • 為避免這種情況,您可以針對XSD中的架構驗證XML
  • 為了解決您的問題,不良行為者會更改進行驗證的盒子上的XSD文件

該應用程序在哪里安裝? 在服務器上嗎? 如果是這樣,那么如果惡意角色可以在您的服務器上更改任意文件,那么這是您最不用擔心的事情。

如果在客戶端PC上,則將其與您的應用程序一起安裝。 非管理員用戶不能在“程序文件”下更改內容。 如果此人是您所安裝盒中的管理員,則您無能為力。

如果它是手機上的應用程序,那么我相信我的PC評論仍然有效。

您不能在完成驗證的機器上阻止具有管理員權限的人來偽造​​架構驗證,但是您可以並且應該采取的步驟是防止XML文件的創建者偽造它。

如果由於不信任文件有效而進行驗證,則不要使用xsi:schemaLocation機制查找架構。 使用驗證API,該API從接收的應用程序提供架構位置,而不是從實例文檔中獲取它。

如果要非常小心,請通過將文檔發送到要驗證的安全服務器來確保完成驗證,並讓安全服務器返回帶有數字簽名的文檔副本以確認其有效性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM