【问题标题】:Can the EVENTVALIDATION field be tampered with?EVENTVALIDATION 字段可以被篡改吗?
【发布时间】:2011-03-28 20:30:03
【问题描述】:

是否可以解码并因此篡改呈现的 _EVENTVALIDATION 字段?我找到了很多关于它做什么的信息,但找不到任何真正说明值本身是否受到保护以防篡改的信息。我确实尝试对它进行 base64 解码并得到了乱码,所以我假设它实际上是加密的,但如果有人确定并且可以验证,那就太棒了。

我知道 Viewstate 没有加密(尽管您可以将其设置为加密)。我对此不感兴趣,我只是对事件验证感兴趣。

我发现了一个类似的问题:Is it possible to decode EventValidation and ViewState in ASP.NET?,但似乎没有人对事件验证字段有具体的答案。

具体示例:我有一个用户可以运行的可用报告的下拉列表。它填充了一些“成员”报告,还有一些在 OnLoad 期间呈现的“仅限管理员”报告,并且只有在用户是管理员时才添加它们。当页面回发时,我是否可以相信事件验证例程是安全的,并且用户没有将“仅限管理员”报告注入可接受值列表,或者我是否应该在我的回发处理程序中重新检查权限以验证用户实际上可以使用被选中的报告吗?

【问题讨论】:

    标签: asp.net security validation


    【解决方案1】:

    首先,事件验证是针对 XSRF 而不是恶意用户的后盾保护。

    如果您想确保他们只能运行他们被允许运行的报告,请在您运行报告时检查他们是否被允许运行报告

    其次,事件验证数据被加密并具有 MAC。它应该很难篡改。但依赖它并不是解决问题的正确方法。

    【讨论】:

    • 这正是我所期望的。谢谢!
    【解决方案2】:

    如果您没有关闭本机注入保护设置,那么如果有人尝试编辑值的控件列表并将其发布回来,则会导致错误。

    【讨论】:

    • 对,我知道。我的意思是,如果有人尝试编辑值列表时遇到了麻烦,是否有什么阻止他们同时编辑事件验证字段以接受他们刚刚尝试破解的值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多