10

如何解码 ASP.NET EventValidation 和 ViewState?

4

5 回答 5

3

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

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

如果您正在为自己的消费编写控件并且您只需要从 读取ViewState,您可以这样做,但我不会推荐它,除非您找到一个调试良好的库来为您解析它。格式有点复杂(有关更多详细信息,请参阅 ViewState:所有您想知道的)。

该链接对ViewState.

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

于 2009-07-07T14:41:40.530 回答
2

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

于 2009-07-07T14:43:35.847 回答
1

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

于 2012-12-25T13:14:51.750 回答
0

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

注意:GridView 会导致加密。

于 2011-03-15T10:44:08.233 回答
0

如果使用 python,您可以使用此链接。

最好的方法是使用这个链接

用于解码 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))
于 2020-08-15T03:58:57.450 回答