Основные моменты по уязвимостям на сайтах, которые не стоит игнорировать
Всем привет. Сижу и думаю, почему многие все еще халтурят с простейшей безопасностью веб-приложений, особенно на начальных этапах. Например, банальные вещи — неправильная настройка прав, отсутствие валидации входящих данных, открытые админки. Ладно, сейчас это банально, но кто реально проверяет базовые вещи до запуска?
Лично я обычно сначала прогоняю проект через пару бесплатных сканеров (да, не идеальных, но для старта хватает), смотрю логи на предмет странных запросов и постоянно пинаю код на предмет возможных SQL-инъекций или XSS — просто захожу и пытаюсь «сломать» его своими руками, если можно так сказать. Естественно, стараюсь использовать минимум стороннего кода, чтобы не получить прикольный backdoor из-за чужой библиотеки.
Присмотритесь к тому, как ваш сервер обрабатывает сессии и куки — там много подводных камней, которые легко просекает опытный пользователь. Настройки HTTPS, заголовки безопасности, Content Security Policy — звучит занудно, но элементарная проверка этих вещей уже отсекает кучу проблем. К тому же, если используете CMS, проверьте все плагины и темы.
Полностью согласен, что базовые вещи часто делают спустя рукава. Но еще круто проверять не только сканерами, но и руками – иногда автоматом промахи не ловятся. И да, минимализм в сторонних библиотеках реально спасает от неожиданных дыр, особенно когда проект маленький. Главное — не забивать на простые настройки безопасности, они реально снижают риски.