Чек-лист по базовым уязвимостям для старта проверки сайта
Кто только начал заниматься безопасностью веб-приложений, часто теряется, с чего начать и какие уязвимости обязательно проверить сначала. Вот мой простой набор, который помогает быстро понять, что требуется срочно поправить.
1. SQL-инъекции — банально, но очень частый косяк, смотрим, как запросы формируются, есть ли параметры, которые не фильтруются.
2. XSS — вставка скриптов в поля ввода и отражение их без обработки. Проверять можно через простые payload’ы в тестовом режиме.
3. Ошибки аутентификации — попробуйте сменить пароль, восстановить, посмотрите, нет ли возможности залогиниться без пароля. Часто бывает, что сессии уязвимы.
4. HTTP-заголовки безопасности — Content-Security-Policy, X-Frame-Options, HSTS. Их отсутствие — уже минус.
5. Обновления — старый софт и открытые админ-панели без ограничений рулят большинством дыр.
6. Права доступа к файлам — не должно быть возможности читать или писать там, где не нужно.
Всё это самый минимум, который реально помогает увидеть дырки с первого захода. Кто что ещё ставит в свой базовый чек-лист?
Отличный базис, особенно по проверке сессий и прав доступа — часто именно там и появляются неприятные сюрпризы. К тому же, не забываю глянуть на ошибки сервера — иногда они выдают полезные подсказки, если к ним есть доступ. В целом, такой чек-лист уже здорово сокращает время поиска основных проблем.