我们如何判断ASP.Net应用程序中的viewstate是否已被篡改?

时间:2020-03-05 18:55:00  来源:igfitidea点击:

在讨论安全性时,我团队的开发人员询问是否有一种方法可以判断viewstate是否已被篡改。我不好意思说我不知道​​答案。我告诉他我会找到答案,但以为我会给这里的某人一个首先回答的机会。我知道有一些自动验证,但是如果未启用事件验证,有没有办法手动进行验证?

解决方案

回答

EnableViewStateMac页面指令

回答

我们也许可以手动执行此操作,但是我们将要实现与我们已经存在的算法相同的算法。在页面上禁用ViewState验证通常是一个坏主意。

回答

默认情况下,ViewState是MIME编码的并使用MAC密钥(从计算机或者从web.config文件)进行哈希处理,这有助于防止篡改(即解码失败)。如果愿意,还可以分别加密和压缩ViewState,以分别提供进一步的保护和较少的开销。参见MS ViewState和CodeProject.com