2013-06-03 2 views
1

Я решаю некоторые проблемы безопасности для нашего приложения, и мы установили ViewStateEncryptionMode равным true (в web.config). Я заметил, что все еще есть поле _VIEWSTATE и теперь новое поле в форме _viewstateencrypted. У меня есть два вопроса:Проблемы с безопасностью на viewstate

  1. Означает ли это, что viewstate все еще можно взломать или распознать asp.net и использовать только зашифрованное поле.
  2. Я получаю проблему безопасности OWASP ZAP, чтобы сказать, что они находят проблему с вложением в представлении, добавляя текст. Как это разрешить?

Заранее спасибо

ответ

0

Трудно сказать, без дополнительной информации, но вот несколько случайных догадок:

  • ViewStateEncryptionMode не может быть установлена ​​истина ?? Я предполагаю, что вы имеете в виду «Всегда», MSDN reference

  • Если ViewStateEncryptionMode всегда, да, ваше окно просмотра зашифровано. Это должно скрыть информацию, содержащуюся от любопытных глаз.

  • Если вам не нужно скрывать контент в представлении, но вы хотите предотвратить подделку (например, модификацию), вы можете установить enableViewStateMac = 'true'. Это добавляет криптографический хеш, чтобы проверить, был ли изменен контент. Дополнительную информацию см. В документации MSDN. И это, и ViewStateEncryptionMode могут быть активны одновременно, если хотите.

  • Скорее всего, вы видите ложный позитив от OWASP ZAP. В вашем кодированном представлении содержатся строки, такие как SQL, JDBC или ODBC? См. Это bug.

  • Сообщение напоминает мне неопределенный пробел в использовании оракула. Ваш сервер исправлен с MS10-070? Обратите внимание, что это старый материал, эксплоит был найден и исправлен в 2010 году

0

VIEWSTATE представляет собой угрозу безопасности, если он не зашифрован (кто-то может изменить значения ViewState и POST на ваших страницах.)

Чтобы увидеть его зашифрован, идите сюда и вставить значение ViewState: http://ignatu.co.uk/ViewStateDecoder.aspx

Если эта страница может декодировать ViewState, то он не зашифрован.

Чтобы 'обезопасить' ваш ViewState вам необходимо установить следующее в вашем web.config:

<pages enableViewState="true" enableViewStateMac="true"> 
Смежные вопросы