是否可以在ASP.NET中解码EventValidation和ViewState?

时间:2009-07-07 14:33:45

标签: asp.net viewstate decode

如何解码ASP.NET EventValidation和ViewState?

5 个答案:

答案 0 :(得分:3)

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

基本上,默认情况下ViewState只是Base64编码,所以只要管理员没有配置网站加密就可以对其进行解码。引自我之前的回答:

  

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

该链接为ViewState提供了非常全面和清晰的介绍。

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

我最近需要对ViewStates进行解码,并发现此工具很有用:View State decoder

答案 3 :(得分:0)

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

注意:GridView会导致加密。

答案 4 :(得分:0)

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

最好的方法是使用此link

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

首先安装:pip install viewstate

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