Недавно пришлось поднимать старый портал, и наткнулся на кучу потенциальных дыр — начиная от неправильных заголовков Content-Type и заканчивая костылями с правами на файлы. Самое главное — понять, где реально можно что-то сломать, а где это просто страшилки.
Для начала я тупо прогнал простой набросок сканеров типа Nikto, OWASP ZAP и Burp Suite — они быстро показывают самые очевидные косяки. Но этого мало, особенно если проект не свежий. Часто баги связаны с конфигами сервера или неправильными правами доступа на папки, особенно если сайт держится на популярном CMS или фреймворке с кучей плагинов.
Проверял руками — пробовал разные заголовки, вызовы API, смотрел, как обрабатываются ошибки. Часто код вываливается с подробными сообщениями, и там уже можно понять, где что висит. Советую не ограничиваться только автоматикой — она может пропустить то, что никак сам не запинает.
Никто лучше ручной проверки баги не покажет, особенно в старом коде. Сканы полезны для быстрого вброса, но реально хардкорные уязвимости вылезают только при попытке подключить голову и поковырять API, конфиги и вывод ошибок руками. Костыли с правами — частая беда, их лучше фиксить сразу, пока никто не успел воспользоваться.