Проект был выполнен для оператора железнодорожных перевозок “Русагротранс”. В ходе проведения тестирования на проникновение и безопасность сайта компании Русагротранс было выявлено 6 уязвимостей, требующих немедленного устранения.
По результату нашей работы все уязвимости были решены и сайт успешно прошел повторное тестирование на безопасность.
Рассмотрим каждую из уязвимостей:
Сайт работал на версии PHP 7.4, которая имела множество уязвимостей, увеличивая риск взлома. Поэтому было решено обновить PHP до версии 8.1, которая устраняет эти проблемы и включает последние улучшения безопасности. Это обновление необходимо для защиты сайта от потенциальных угроз, обеспечения стабильности работы и улучшения производительности веб-приложения.
*Cross Site Scripting (XSS) — это тип атаки на веб-сайты, при которой злоумышленник вставляет вредоносный код
Все, что пользователь вводил в URL, отображалось на сайте без какой-либо проверки на вредоносность или корректность. Это могло привести к тому, что злоумышленник мог вставить вредоносный код (например, скрипты), который затем выполнялся бы на странице, создавая угрозу безопасности для других пользователей.
Для устранения уязвимости XSS мы внедрили фильтрацию и валидацию всех пользовательских данных, которые поступают через GET запросы. Это позволяет убедиться, что вводимые пользователем данные проходят проверку на наличие потенциально опасных символов и структур, что предотвращает выполнение вредоносного кода.
Для дополнительной защиты была добавлена функция экранирования опасных символов и тегов. Это изменение гарантирует, что любые попытки вставить вредоносный код будут нейтрализованы, и такой код не сможет быть выполнен браузером. Таким образом, снижается риск успешного проведения XSS атак.
Также был включен заголовок HTTP X-Content-Type-Options: nosniff. Этот заголовок предотвращает браузеры от попыток самостоятельно определять тип контента, что может использоваться злоумышленниками для выполнения атак.
Проблема решалась в 2 шага:
Сначала мы изменении конфигурации сервера. Мы отключили отображение информации о версиях используемых приложений и операционной системы в HTTP заголовках и сообщениях об ошибках. Такое изменение помогает скрыть информацию, которая может быть полезна злоумышленникам при планировании атак.
Далее мы обновили все используемые приложения до последних версий. Новые версии содержат исправления известных уязвимостей и улучшения безопасности.
Обновление программного обеспечения снижает риск использования уязвимостей.
Cookie (данные о вашем посещении сайта) передавались через незащищенное соединение (HTTP), а не через защищенное (HTTPS). Это означает, что cookie не были настроены для безопасной передачи.
Мы сделали настройку всех cookie, которые содержат конфиденциальные данные, с флагом secure. Этот флаг гарантирует, что такие cookie будут передаваться только по защищенному соединению HTTPS, что предотвращает их перехват злоумышленниками при MITM атаках.
Далее мы обновили конфигурации веб-приложения. Это включало внесение изменений в код и настройки сервера для обеспечения строгого использования флага secure для всех соответствующих cookie. Таким образом все данные будут передаваться только по HTTPS.
На сайте использовались старые версии библиотеки jQuery (библиотека JavaScript, которая упрощает создание и управление интерактивными элементами на веб-страницах), в которых были уязвимости.
Чтобы решить эту проблему мы обновили используемую версию jQuery до последней версий. Это обновление устраняет известные уязвимости, выявленные в предыдущих версиях библиотеки, и включает в себя улучшения безопасности и производительности.
Мы отключили функции автозаполнения в настройках полей ввода паролей, что гарантирует, что браузеры не будут автоматически заполнять пароли в этих полях, снижая риск утечки паролей через функцию автозаполнения.
Результаты
Все выявленные уязвимости были успешно устранены. Повторный пентест подтвердил безопасность и стабильность сайта после внесенных изменений.
Чему учит этот кейс?
Важно регулярно проводить такие проверки, чтобы не потерять конфиденциальные данные, доверие пользователей и репутацию. Без регулярного мониторинга, ваш сайт может стать уязвимым для взломов, что приведет к финансовым потерям и сбоям в его работе.
Сэкономим ваши нервы и деньги? Оставляйте заявку на проверку сайта!
Наши другие кейсы:
Интересно узнавать больше о компании? Читайте наши статьи и новости telegram и VC.Ru.
Нажимая кнопку «Оставить заявку», Вы даёте согласие на обработку Персональных данных.