Как декодировать ASP.NET EventValidation и ViewState?
Можно ли декодировать EventValidation и ViewState в ASP.NET?
Ответы (5)
Недавно я ответил на аналогичный вопрос: Получение значений из состояния просмотра с помощью JQuery? а>.
По сути, по умолчанию ViewState
просто закодирован в Base64, поэтому вы можете его декодировать, пока администратор не настроил сайт для его шифрования. Цитата из моего предыдущего ответа:
Если вы пишете элемент управления для собственного потребления и вам нужно только читать из
ViewState
, вы можете это сделать, но я бы не рекомендовал его, если вы не найдете хорошо отлаженную библиотеку, которая проанализирует его за вас. Формат немного запутанный (подробнее см. ViewState: все, что вы хотели знать).
Эта ссылка дает чрезвычайно подробное и ясное введение в ViewState
.
Что касается проверки событий, я не уверен, закодирован ли он в кодировке Base64 или просто выглядит как Base64 (я не могу найти убедительную авторитетную ссылку). Хотя эта статья по рексиологии может помочь.
Я не уверен насчет EventValidation, но вы можете декодировать ViewState с помощью ViewState Decoder от Fritz Onion.
Недавно мне понадобилось декодировать ViewStates, и я нашел этот инструмент полезным: View State decoder
Создайте простое приложение для Windows и используйте Convert.FromBase64(str)
для декодирования ViewState
данных, если они не зашифрованы.
Примечание. GridView вызывает шифрование.
Вы можете использовать эту ссылку если использовать 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))