Парни, столкнулся с тем, что банальный сканер уязвимостей часто выдает кучу ложняков, а реальные дыры проходят мимо. Пробовал разные тулзы, но в итоге понял, что главная фигня — это неправильное понимание контекста приложения. Например, многие забывают проверить, как обрабатываются сессии или куда в итоге падает ввод пользователя. Хардкодом багов сейчас никого не удивишь, чаще всего косяки в логике, Н+1 запросы, неправильные заголовки CSP или лагающая авторизация.
Вкратце, что всегда стоит прожать вручную или в составе свапа:
- Проверить, как работает ввод и вывод данных на разных уровнях (включая AJAX и API)
- Забить на «классические» баги, если нет подтверждения от строчки кода (логика зачастую важнее XSS)
- Смотрим, как устроены права доступа между ролями — часто админские права плавно вываливаются на обычных юзерах, не заметишь сразу
- CSP и прочие заголовки безопасности проверить — они не панацея, но иногда помогают закрыть мелкие бреши
- SSL/TLS настроен правильно? Бывает, что сертификаты идут с ошибками, а про это забывают
- Не забывать о старых зависимостях и библиотеках, у которых какие-то баги висят давно
Может, кто-то еще сталкивался с такими нюансами и может подсказать, что у меня упускается при базовой проверке?