Как начинающему понять и проверить уязвимость на сайте?
В принципе, сразу скажу — уязвимости не всегда страшный монстр, который невозможно поймать без суперсредств. Для старта достаточно знать пару базовых моментов. Например, самый простой способ проверить, нет ли SQL-инъекций — попытаться в форму вставить кавычки и посмотреть, не вылезет ли ошибка базы. Если да, значит внимание, тут может быть пробой.
Сравнивать способы проверки тоже нужно исходя из поставленных задач. Автоматические сканеры, типа OpenVAS или даже бесплатные веб-инструменты, хороши для быстрого грубого осмотра, но могут пропускать мелочи или вываливать кучу ложных срабатываний. Ручная проверка медленнее, но дает больше понимания. Для новичка идеально совмещать: сначала автосканер, потом ручная проверка подозрительных мест.
Защита — это не только патчи и обновления, хотя без них никуда. Есть смысл внедрять базовые фильтры на ввод (валидировать данные, экранировать специальные символы), а для сложных приложений — использовать готовые библиотеки или фреймворки с нормальной защитой от типовых атак.
Короче, если охватывать тему с нуля — сначала понять где и как искать, потом как оценивать угрозу, а уже после думать, как «залатать дыру». Кто что думает? Какие у вас схемы старта проверки уязвимостей?