How's that again?

ASP.NET MVC - Data Tampering

Вид атаки, когда в POST запрос встраивают параметры, которых изначально на форме не было. Если пользоваться DefaultModelBinder, то он подаст на вход контроллера объект, в котором будут инициализированы лишние поля.

Способы защиты

  1. Принимать на вход экшн-метода объект FormCollection и проходить по его полям самостоятельно
  2. Использовать в контроллере метод UpdateModel, в который нужно передать список тех пропертей, которые мы хотим обновить
  3. Использовать свой ModelBinder. Если использовать глобально (прописывая в Global.asax.cs), то он будет применяться везде и всюду.
  4. Использовать свой ModelBinder, но прописать его как атрибут для параметра экшн-метода.