Часто встречаю у коллег халтуру с безопасностью сайта
Наблюдаю одну и ту же фигню на многих проектах — разработчики либо не уделяют достаточно внимания безопасности, либо делают всё формально ради галочки. Например, многие вполне себе открыто оставляют SQL-запросы без подготовленных выражений или валидируют ввод только на клиенте. Иногда используют данные прямо из форм без фильтрации, а потом удивляются, откуда XSS появляется.
Вообще, основные ошибки сводятся к тому, что люди слишком доверяют пользователю и забывают про элементарные проверки на сервере. Плюс забывают про ошибки конфигурации — открытые в корне файлы, лишние права на папки, слабые пароли к базе, отладочную информацию, оставленную в продакшене.
Если проверяю сайты, сначала открываю консоль разработчика и смотрю, как обрабатываются формы, потом долго ковыряюсь в коде — ищу, где вставляются данные без фильтрации в запросы и выводятся ли прямо в HTML. Обязательно смотрю логи и конфиги, бывает много мусора и старых хаков. Простые инструменты вроде Burp Suite Community Edition хорошо помогают быстро понять слабые места.
Кстати, забавно, но очень тяжело убедить команду реально прикладывать силы к безопасности, пока не случится проблема. При этом исправление потом «съедает» гораздо больше времени и нервов.
Есть ли у вас примеры, как у разработчиков вылезали мелкие грабли безопасности? Или у кого-то была похожая ситуация, когда просто не успевали или не могли делать нормальную защиту?
Честно, кажется, что у многих реально нет понимания, зачем вообще нужна безопасность, пока не прилетит бабах. Часто код пишут так, будто это просто учебный проект, а не работа с реальными данными пользователей. Ну и да, когда потом начинаешь разбираться, видишь сплошные дыры вместо нормальной логики.