Введение
Если только начинаешь разбираться с безопасностью сайтов и веб-приложений, слово «уязвимость» скорее всего встречалось не раз, но понимание, что это вообще такое, часто туманно. Эта тема — попытка объяснить простыми словами, почему появляются уязвимости, как быстро их найти и главное — как их исправить, чтобы не сливать данные или не дать злоумышленникам лазейку.
Что это такое
Уязвимость — это дыра в защите программного обеспечения или сайта, через которую можно попасть туда, куда не положено. Представь, что в доме забыли закрыть окно или повесить нормальный замок. Точно так же, например, в веб-приложении может быть ошибка в коде, которая позволяет ввести вредоносный скрипт или получить доступ к паролям. Технически — это баг, который может привести к компрометации данных, нарушению работы или даже полной потере контроля над сервисом.
Где применяется
Уязвимости могут быть везде, где есть код и данные: в самих сайтах, API, админках, CMS, плагинах, даже в облачных сервисах и настройках серверов. Тем, кто ведет порталы, интернет-магазины, блоги, надо понимать, что их проекты тоже подвержены риску. Администраторы и разработчики обычно проверяют на уязвимости ПО, серверы, базы данных и пользовательские формы на ввод данных.