Ручка тестирует ваше приложение MVC - PullRequest
3 голосов
/ 27 января 2010

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

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 27 января 2010

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

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

или

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

}

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

3 голосов
/ 28 января 2010

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

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

Уязвимости OWASP Top 10 в веб-приложениях - отличный ресурс, который вы должны изучить. В частности, вам не хватает XSRF в вашем списке, что может быть разрушительной атакой. Существует большое количество атак, основанных на потоке, которые вы не перечислили. Например, что если злоумышленник может пройти путь по своему выбору для fopen? Study In Scarlet проходит через многие из этих атак на PHP.

1 голос
/ 28 января 2010

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

Специфичные для MVC предложения - это что-то вроде "тощие контроллеры, толстые модели".

...