Вопрос

Вот некоторые общеизвестные методы защиты приложения MVC:

  • Кодируйте свой вывод
  • Параметризируйте свой SQL
  • Проверьте свой поиск взад и вперед
  • 1 способ хеширования паролей
  • Блокируйте учетные записи или ограничивайте попытки входа в систему
  • Используйте олицетворение на основе кода при доступе к файловой системе.
  • Доступ к SQL с заблокированным именем пользователя
  • Используйте Honey-pots или капчу для отправки форм для противодействия ботам.

Если я что-то пропустил или неправильно выразил, пожалуйста, поделитесь.

Какие еще методы/рекомендации вы используете или о чем думаете при тестировании собственного программного обеспечения?Что вы делаете, чтобы «надрать шины», прежде чем принимать заявки в прямом эфире?

Какие услуги или программное обеспечение для пен-тестирования вы используете, если таковое имеется?

Это было полезно?

Решение

Все методы, использующие привязку модели, должны быть защищены с помощью белых или черных списков привязываемых свойств.

string[] allowedProperties = new[]{ "Title", "Description"};
UpdateModel(myObject, allowedProperties);

или

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Include="Title,Description")] MyObject object )
{

}

Это, конечно, сделано для того, чтобы созданные запросы не пытались обновить/манипулировать вашими объектами непредназначенными способами.

Другие советы

Ваш список хорош, хотя и немного расплывчат.Например, md4 — это односторонний хэш, но он крайне небезопасен, поскольку я могу создать коллизию на своем рабочем столе менее чем за день.sha256 с большим значением соли — более безопасный подход.(Я знаю, что даже это описание неполное, не флеймите)

Не существует универсального контрольного списка безопасности, который будет работать по всем направлениям.Определенные приложения могут иметь определенные уязвимости.Иногда эти недостатки могут быть логическими ошибками, которые действительно не имеют классификации.

А Топ-10 OWASP Уязвимости веб-приложений — отличный ресурс, который вам следует изучить.В частности, в вашем списке отсутствует XSRF, что может стать разрушительной атакой.Существует большое количество атак на основе «приемника», которые вы не перечислили.Например, что, если злоумышленник сможет пройти по выбранному им пути и открыть его? Этюд в багровых тонах рассматривает многие из этих атак на PHP.

Все ваши предложения применимы к любому веб-приложению, а не только к приложениям MVC.

Предложения, специфичные для MVC, будут выглядеть примерно так: «тонкие контроллеры, толстые модели».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top