Можно ли декодировать EventValidation и ViewState в ASP.NET?

Как декодировать ASP.NET EventValidation и ViewState?


person Zanoni    schedule 07.07.2009    source источник
comment
Для ViewState см. Как декодировать состояние просмотра: http://stackoverflow.com/questions/22814/how-to-decode-viewstate/.   -  person XP1    schedule 10.03.2013


Ответы (5)


Недавно я ответил на аналогичный вопрос: Получение значений из состояния просмотра с помощью JQuery? .

По сути, по умолчанию ViewState просто закодирован в Base64, поэтому вы можете его декодировать, пока администратор не настроил сайт для его шифрования. Цитата из моего предыдущего ответа:

Если вы пишете элемент управления для собственного потребления и вам нужно только читать из ViewState, вы можете это сделать, но я бы не рекомендовал его, если вы не найдете хорошо отлаженную библиотеку, которая проанализирует его за вас. Формат немного запутанный (подробнее см. ViewState: все, что вы хотели знать).

Эта ссылка дает чрезвычайно подробное и ясное введение в ViewState.

Что касается проверки событий, я не уверен, закодирован ли он в кодировке Base64 или просто выглядит как Base64 (я не могу найти убедительную авторитетную ссылку). Хотя эта статья по рексиологии может помочь.

person Jeff Sternal    schedule 07.07.2009

Я не уверен насчет EventValidation, но вы можете декодировать ViewState с помощью ViewState Decoder от Fritz Onion.

person Bob Mc    schedule 07.07.2009
comment
Похоже, Фриц отключил утилиту. Поиск Google сначала обнаруживает это (ignatu.co.uk/ViewStateDecoder.aspx), но Я не могу за это поручиться. Жалко, что вклад Фрица был неплохим. - person Bob Mc; 22.09.2014

Недавно мне понадобилось декодировать ViewStates, и я нашел этот инструмент полезным: View State decoder

person syntagma    schedule 25.12.2012
comment
@mrGreenBrown Только что исправил. - person syntagma; 05.02.2017

Создайте простое приложение для Windows и используйте Convert.FromBase64(str) для декодирования ViewState данных, если они не зашифрованы.

Примечание. GridView вызывает шифрование.

person smaildeveloper    schedule 15.03.2011

Вы можете использовать эту ссылку если использовать python.

Лучше всего использовать эту ссылку.

Небольшая библиотека 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))
person henrry    schedule 15.08.2020