Кто недавно влепился в веб-безопасность, наверняка слышал про OWASP Top 10. Вот честно, эти 10 проблем — базис, с которого стоит стартовать, чтобы не получить дырку на ровном месте.
Короче, быстренько пробежимся:
1. Injection — когда данные с формы или URL цепляют внутрь запроса без фильтрации. Тут главное — не ковырять напрямую строку, а использовать подготовленные выражения или ORM.
2. Broken Authentication — плохая аутентификация. Типа, когда пароль можно перебить или сессию угнать. Нужно надёжно хранить пароли, ставить таймауты и не чётко раздавать токены.
3. Sensitive Data Exposure — когда ваш сайт лезет с важной инфой (паролями, картами) без нормального шифрования. HTTPS и шифрование базы должны быть обязательными.
4. XML External Entities (XXE) — редкая херня, но если где-то парсите XML без ограничений, могут подгрузить сторонние файлы или пробить сеть. Лучше вообще на JSON переползать.
5. Broken Access Control — когда можно получить доступ туда, куда не положено. Проверьте, что права не просто на фронте, а на сервере тоже жёстко проверяются.
6. Security Misconfiguration — фигня, которая возникает, когда серверы, фреймворки или базы настроены небрежно. Конфиги, права, обновления — всё должно быть под контролем.
7. Cross-Site Scripting (XSS) — классика: вставляешь на сайт скрипт, который выполняется в браузерах других пользователей. Обязательно экранируйте вывод с юзера.
8. Insecure Deserialization — когда десериализуешь данные (например, объекты из кода), и если их подменить, можно исполнить любой код. Легко обойтись без этого или добавить проверки.
9. Using Components with Known Vulnerabilities — части сайта (плагины, библиотеки) с дырками. Регулярно обновляйте и проверяйте через CVE-базы.
10. Insufficient Logging & Monitoring — если вы не логируете и не мониторите события, то долго не поймёте, что вас уже пробили. Логи и алерты — необходимость.
В общем, с этими 10 моментами проще всего понять, где копать на старте. Кто как обычно их проверяет? Где чаще всего мозг выносит? Какие инструменты помогали? Поделитесь опытом.