【问题标题】:Is it possible to decode EventValidation and ViewState in ASP.NET?是否可以在 ASP.NET 中解码 EventValidation 和 ViewState?
【发布时间】:2009-07-07 14:33:45
【问题描述】:

如何解码 ASP.NET EventValidation 和 ViewState?

【问题讨论】:

标签: asp.net viewstate decode


【解决方案1】:

我最近回答了一个类似的问题,Getting values from viewstate using JQuery?

基本上,默认情况下,ViewState 只是 Base64 编码的,因此只要管理员尚未配置站点对其进行加密,您就可以对其进行解码。引用我之前的回答:

如果您正在编写控件 你自己的消费,你只需要 从ViewState 阅读,你可以这样做 所以,但我不会推荐它,除非 你会找到一个调试良好的库 为你解析它。格式有点 毛茸茸的(见ViewState: All You Wanted to Know for more details)。

该链接对ViewState 进行了非常全面和清晰的介绍。

至于事件验证,我不确定它是 Base64 编码的还是看起来像 Base64(我找不到确凿的权威参考)。 This Rexiology article 可能会有所帮助。

【讨论】:

    【解决方案2】:

    我不确定 EventValidation,但您可以使用 Fritz Onion 的 ViewState Decoder 解码 ViewState。

    【讨论】:

    • 看起来 Fritz 关闭了该实用程序。谷歌搜索首先找到了这个(ignatu.co.uk/ViewStateDecoder.aspx),但我不能保证。真的很遗憾,Fritz 的贡献相当不错。
    【解决方案3】:

    我最近需要解码 ViewStates,发现这个工具很有用:View State decoder

    【讨论】:

    • @mrGreenBrown 刚刚修好了。
    【解决方案4】:

    创建一个简单的 Windows 应用程序,并使用 Convert.FromBase64(str) 解码未加密的 ViewState 数据。

    注意:GridView 会导致加密。

    【讨论】:

      【解决方案5】:

      如果使用python,你可以使用this link

      最好的方法是使用这个link

      用于解码 ASP.NET 视图状态的小型 Python 3.5+ 库。

      首先安装那个:pip install viewstate

      >>> from viewstate import ViewState
      >>> base64_encoded_viewstate = '/wEPBQVhYmNkZQ9nAgE='
      >>> vs = ViewState(base64_encoded_viewstate)
      >>> vs.decode()
      ('abcde', (True, 1))
      

      【讨论】:

        猜你喜欢
        • 2015-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多