Автоматический поиск и выявление уязвимостей
Большинство сайтов взламываются «в лоб» — злоумышленники используют популярные сканеры и утилиты, выявляют потенциальные уязвимости и эксплуатируют их.
Многие уязвимости, эксплуатируемые среднестатическим злоумышленником, лежат на поверхности и не требуют глубоких познаний или квалификации для их эксплуатации. С описанием утилит и их использованием я ознакомлю вас в следующем топике, а сегодня расскажу о выявленнии поверхностных и типовых уязвимостей, присущих многим коммерческим сайтам.
Злоумышленники могут искать определенные признаки, такие как тип и версия CMS, наличие определенных файлов в корне сайта и прочее с помощью поисковых систем и сканеров проверять наличие той или иной уязвимости. Также это может быть набор определенных паттернов, ответов сервера на те или иные запросы, по которым можно попытаться определить наличие уязвимости.
Существует несколько сценариев, по которым можно проверить сайт на наличие той или иной уязвимости в автоматическом режиме за достаточно короткий промежуток времени.
Тип уязвимости: внедрение кода — OWASP A1 (injection).Как выявляется: ошибки в теле страницы, время отклика.Чем грозит: компрометация пользовательских данных, заражение сайта.
Тип уязвимости: некорректная аутентификация и управление сессией — OWASP A2 (broken authentication and session management).Как выявляется: передача сессии в URL, отсутствие шифрования.Чем грозит: утечка чужой сессии может привести к перехвату управления аккаунтом.
Тип уязвимости: межсайтовый скриптинг — OWASP A3 XSS (cross-site scripting).Как выявляется: наличие ответа на специально сформированный запрос в коде страницы.Чем грозит: атака производится непосредственно на пользователя, манипуляция данными.
Тип уязвимости: небезопасные прямые ссылки на объекты — OWASP A4 (insecure direct object references).Как выявляется: перебор значения параметров.Чем грозит: возможна утечка критичных данных.
Тип уязвимости: небезопасная конфигурация — OWASP A5 (security misconfiguration).Как выявляется: выявление настроек по умолчанию, стандартных паролей, сообщений об ошибках.Чем грозит: компрометация пользовательских данных, заражение сайта.
Тип уязвимости: утечка чувствительных данных — OWASP A6 (sensitive data exposure).Как выявляется: корректная установка и настройка сертификатов, выявление критичных данных.Чем грозит: возможна утечка критичных данных.
Тип уязвимости: отсутствие контроля доступа к функциональному уровню — OWASP A7 (missing function level access control).Как выявляется: манипуляция данными для получения доступа.Чем грозит: возможна утечка критичных данных.
Тип уязвимости: подделка межсайтовых запросов — OWASP A8 CSRF (cross-site request forgery).Как выявляется: отсутствие проверки адреса запроса (токена).Чем грозит: манипуляция данными.
Тип уязвимости: использование компонентов с известными уязвимостями — OWASP A9 (using components with known vulnerabilities).Как выявляется: наличие общедоступных уявивмостей для данной версии приложения.Чем грозит: компрометация пользовательских данных, заражение сайта.
Тип уязвимости: невалидируемые редиректы — OWASP A10 (unvalidated redirects and forwards).Как выявляется: манипуляция параметрами URL.Чем грозит: компрометация пользовательских данных, возможна утечка критичных данных.
Выявленные уязвимости могут быть проэксплуатированы как по отдельности, так и составить сложный сценарий атаки на веб-приложение.
Проверка сайта в автоматическом режиме позволит выявить большинство уязвимостей такого рода для оперативного устранения и минимизации рисков взлома сайта.