ASP.NET ViewState MAC 未啟用

medium Web App Scanning Plugin ID 112924

概要

ASP.NET ViewState MAC 未啟用

說明

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

如果 viewstate 未簽署,攻擊者或許可以修改內部儲存的資訊,具體視內部儲存的資訊而定。

解決方案

ASP.NET 透過在特定頁面上新增 '<%@Page EnableViewStateMAC='True' %>' 或在您的 web.config 檔案內新增 '<pages enableViewStateMac='true'>',為 ViewState 參數提供 MAC 驗證。

另請參閱

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.enableviewstatemac?view=netframework-4.8

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

Plugin 詳細資訊

嚴重性: Medium

ID: 112924

類型: remote

已發布: 2021/8/5

已更新: 2022/2/1

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

風險資訊

VPR

風險因素: Low

分數: 1.4

CVSS v2

風險因素: Medium

基本分數: 5

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

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: Medium

基本分數: 5.3

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

CVSS 評分資料來源: Tenable

弱點資訊

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

參考資訊