ASP.NET ViewState 未加密

medium Web App Scanning Plugin ID 112923

概要

ASP.NET ViewState 未加密

說明

ViewState 是 ASP.NET 架構專屬的參數,當使用者在不同 Web 頁面之間瀏覽保留值和控制項的應用程式時,可將其用作瀏覽軌跡。所有值都在頁面的 __viewstate 參數中顯示,並在隱藏的欄位中以 base64 格式進行序列化和編碼。除了 base64 編碼,viewstate 也可以使用 MAC (訊息驗證碼) 簽署以保證完整性,而且可以加密以保證機密性。

如果 viewstate 未加密,攻擊者或許可以擷取使用者的敏感資訊,具體視內部儲存的資訊而定。

解決方案

ASP.NET 透過在特定頁面上新增 '<%@Page ViewStateEncryptionMode='Always' %>' 或在您的 web.config 檔案內新增 '<pages viewStateEncryptionMode='Always'>',為 ViewState 參數提供加密。

另請參閱

https://devblogs.microsoft.com/aspnet/cryptographic-improvements-in-asp-net-4-5-pt-2/

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.viewstateencryptionmode?view=netframework-4.8

https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms972976(v=msdn.10)

Plugin 詳細資訊

嚴重性: Medium

ID: 112923

類型: remote

已發布: 2021/8/5

已更新: 2022/2/1

掃描範本: basic, full, pci, scan

風險資訊

VPR

風險因素: Low

分數: 2.9

CVSS v2

風險因素: Medium

基本分數: 5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: Medium

基本分數: 5.3

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

CVSS 評分資料來源: Tenable

弱點資訊

CPE: cpe:2.3:a:microsoft:microsoft_.net_framework:*:*:*:*:*:*:*:*

參考資訊