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

Я только что столкнулся с этим, и моя проблема была вызвана наличием двух сущностей как с System.ComponentModel.DataAnnotations.Schema.TableAttribute, относящихся к одной и той же таблице.

, например:

[Table("foo")]
public class foo
{
    // some stuff here
}

[Table("foo")]
public class fooExtended
{
    // more stuff here
}

второй с foo до foo_extended исправил это для меня, и теперь я использую Table Per Type (TPT)

17
задан Yeldar Kurmangaliyev 14 July 2015 в 07:49
поделиться

9 ответов

От Открытый Проект безопасности веб-приложения:

  1. OWASP Лучший Десять уязвимости (PDF)
  2. Для более крайне исчерпывающего списка: Category:Vulnerability

лучшие десять:

  1. перекрестный сайт, пишущий сценарий (XSS)
  2. Инжекционные дефекты (Внедрение SQL, инжекция сценария)
  3. Злонамеренное выполнение файла
  4. Небезопасная ссылка прямого дополнения
  5. подделка запроса перекрестного сайта (XSRF)
  6. Утечка информации и неподходящая обработка ошибок
  7. Поврежденное управление аутентификацией и управление сеансами
  8. Небезопасное криптографическое устройство хранения данных
  9. Небезопасная связь
  10. Отказ ограничить доступ через URL
12
ответ дан 30 November 2019 в 12:58
поделиться

Очевидно, протестируйте каждое поле на уязвимости:

  • SQL - выходит из строк (например, mysql_real_escape_string)
  • XSS
  • HTML, распечатанный от полей ввода (хороший знак XSS обычно)
  • Что-либо еще thatis не определенная цель, что поле было создано для

Поиск бесконечных циклов (единственная косвенная вещь (если много людей нашло его случайно), который мог бы уничтожить сервер действительно).

2
ответ дан 30 November 2019 в 12:58
поделиться

Некоторые методы предотвращения:

XSS

  • , Если Вы берете какие-либо параметры/вход от пользователя и когда-нибудь планируете вывод его, ли в журнале или веб-странице, санируйте его (разделяют/выходят что-либо напоминающее HTML, кавычки, JavaScript...) при печати текущего URI страницы в себе санируйте! Даже печать PHP_SELF, например, небезопасна. Санируйте! Отражающий XSS прибывает главным образом из несанированных параметров страницы.

  • , Если Вы берете какой-либо вход от пользователя и сохраняете его или печатают его, предупреждают их, если что-либо опасное/недопустимое обнаруживается, и сделайте, чтобы они повторно ввели. IDS хорош для обнаружения (такого как PHPIDS.) Тогда санируют перед устройством хранения данных/печатью. Тогда, когда Вы печатаете что-то от устройства хранения данных/базы данных, санируете снова! Вход-> IDS/санировать-> хранилище-> санирует->, производит

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

XSRF

  • Никогда не использует, ПОЛУЧАЮТ запрос на разрушительную функциональность, т.е. удаление сообщения. Вместо этого только примите запросы POST. ДОБЕРИТЕСЬ делает его дополнительным легкий для хакерства.
  • Проверка ссылающегося домена для проверки запрос прибыл из сайта , не работает . Не трудно имитировать ссылающийся домен.
  • Использование случайный хеш как маркер, который должен присутствовать и быть допустимым в каждом запросе, и это истечет через некоторое время. Распечатайте маркер в скрытом поле формы и проверьте его на стороне сервера, когда форма будет отправлена. Плохие парни должны были бы предоставить корректный маркер для ковки запроса, и если бы им удалось получить реальный маркер, это должно было бы быть, прежде чем это истекло.

Внедрение SQL

  • Ваш ORM или класс абстракции дб должны иметь методы очистки - используют их, всегда. Если Вы не используете ORM или класс абстракции дб..., необходимо быть.
2
ответ дан 30 November 2019 в 12:58
поделиться

Внедрение SQL

1
ответ дан 30 November 2019 в 12:58
поделиться

XSS (перекрестные сценарии сайта) нападения

1
ответ дан 30 November 2019 в 12:58
поделиться

Легкий наблюдать и легкий зафиксировать: очистка данных получена от стороны клиента. Проверка вещи такой как''; может помочь в предотвращении вредоносного кода, вводимого в Ваше приложение.

1
ответ дан 30 November 2019 в 12:58
поделиться

G'day,

А хороший инструмент статического анализа для безопасности FlawFinder, записанный David Wheeler. Это делает хорошее задание, ища различное использование безопасности,

Однако это не заменяет наличие хорошо осведомленного, кто-то прочитал Ваш код. Как David говорит относительно своей веб-страницы, "Дурак с инструментом является все еще дураком!"

HTH.

аплодисменты, Rob

1
ответ дан 30 November 2019 в 12:58
поделиться

Можно заставить хорошие дополнения Firefox тестировать несколько дефектов и уязвимостей как xss и внедрения SQL от Компас безопасности . Слишком плохо они не работают над firefox 3.0. Я надеюсь, что те будут скоро обновлены.

1
ответ дан 30 November 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: