如果在ASP.NET应用程序中启用了ViewStatemac,用户是否可以修改ViewState中的内容并将其成功传递回服务器?
我有一个应用程序(别人写的),它正在使用ViewState中的内容在SQL查询中创建非参数化的ORDER BY
子句。我应该担心SQL注入吗?
最佳答案
如果启用了ViewStateMAC,则攻击者必须能够破解“机器密钥”才能更改ViewState,因此,如果将此值设为私有,则它应该是相当安全的。
该值是在后面的代码(例如ViewState["OrderBy"]
)中设置的,而不是通过控件设置的吗?如果是这样,则将不受事件验证的约束。