Наблюдаю часто, что при сканировании сайтов или веб-приложений ребята натыкаются на одни и те же ошибки — например, плохо настроенные заголовки безопасности, незакрытые инъекции или проблемы с авторизацией. Было бы полезно понять, где тут что и почему.
Часто уязвимости делятся на те, что связаны с кодом (типа SQLi, XSS) и те, что про инфраструктуру (CORS, неправильные сертификаты и т.д.). Разница в том, что первые требуют правки в программной части, а вторые — более сисадминской работы. И подход к проверке разный. Например, для кода проще применять автоматические сканеры и потом уже вручную смотреть проблемные места. Инфраструктурные баги легче понять через ручные тесты и осмотр настроек.
Есть моменты, когда лучше быстро перетереть автоматикой всю кучу потенциальных уязвимостей, чтобы выловить очевидное, но это может залить поток ложных срабатываний. В таких случаях обычный список чеков, базовый аудит глазами часто срабатывает лучше. Кстати, для начальной проверки нужен именно комплексный взгляд — просмотреть логи, настроить WAF, проверить HTTP-заголовки.
Подозреваю, что многие повторяют свои ошибки из-за того, что не фиксируют баги по полной, а просто закрывают один симптом. Например, нашли XSS — залатали параметр, а потом забили про неподходящие методы сбора данных или про те же cookies без атрибута HttpOnly.
Кто как организует работу с уязвимостями? Только сканер и баг-репорт? Или есть какая-то система приоритизации и повторных проверок? Пару раз видел, как после исправлений уязвимость по факту оставалась, хоть и менялись какие-то мелочи.
Было бы интересно обсудить, как на практике лучше подходить к выявлению и фиксу, особенно когда кучу багов не получается быстро приминифицировать. Мне кажется, что простой список из “что глянуть сначала” с объяснением, почему это важно, помог бы многим сэкономить время и нервы.