Найти в Дзене
CISOCLUB

Анализ защищенности web-приложений: на что стоит обращать внимание

С каждым годом web-приложения становятся неотъемлемой частью нашей повседневной жизни. Однако, с ростом популярности таких решений, увеличиваются и риски. Чтобы обеспечить надежную защиту, важно понимать, на какие угрозы стоит обратить внимание и какие меры безопасности принять. Давайте разберемся, как правильно анализировать защищенность web-приложений, и, на примере Bitrix24, посмотрим, как эффективно решаются вопросы безопасности. Каждое web-приложение подвержено определенным рискам. Вот несколько наиболее распространенных угроз: По умолчанию список пользователей не опубликован, но с помощью этой уязвимости злоумышленник может подобрать список логинов. Она использует функцию «Запомнить меня на этом компьютере», через которую при запросе валидного логина сервер выдает строку BITRIX_SM_UIDH=deleted, подтверждая, что логин существует. Злоумышленник, зная логины, может упрощенно атаковать пароли. Атаки XSS позволяют хакерам внедрить вредоносный скрипт в страницу, который затем выполняет
Оглавление

С каждым годом web-приложения становятся неотъемлемой частью нашей повседневной жизни. Однако, с ростом популярности таких решений, увеличиваются и риски. Чтобы обеспечить надежную защиту, важно понимать, на какие угрозы стоит обратить внимание и какие меры безопасности принять. Давайте разберемся, как правильно анализировать защищенность web-приложений, и, на примере Bitrix24, посмотрим, как эффективно решаются вопросы безопасности.

С какими угрозами сталкиваются web-приложения?

Каждое web-приложение подвержено определенным рискам. Вот несколько наиболее распространенных угроз:

Account Enumeration (UIDH)

По умолчанию список пользователей не опубликован, но с помощью этой уязвимости злоумышленник может подобрать список логинов. Она использует функцию «Запомнить меня на этом компьютере», через которую при запросе валидного логина сервер выдает строку BITRIX_SM_UIDH=deleted, подтверждая, что логин существует. Злоумышленник, зная логины, может упрощенно атаковать пароли.

Межсайтовый скриптинг (XSS)

Атаки XSS позволяют хакерам внедрить вредоносный скрипт в страницу, который затем выполняется на компьютере пользователя. Это может привести к краже сессии пользователя и доступа к порталу. Например, в Bitrix до версии 20.0.0 уязвимость XSS существовала в конечной точке galleries_recalc.php, где веб-приложение не фильтровало параметр arParams[IBLOCK_ID]. Злоумышленник мог внедрить произвольный скрипт, что позволяло получить доступ к сессиям через социальную инженерию и похищение cookie-файлов.

Атаки CSRF

  • Злоумышленники могут заставить пользователя выполнить нежелательное действие на сайте, например, изменить настройки или перейти на вредоносный ресурс. В Bitrix версии content spoofing присутствует в нескольких формах:
  • — Сontent Spoofing (AJAX) позволяет изменять контент страницы через параметры items[1][TITLE] и ITEMS[1][DETAIL_LINK] в ajax.php. Злоумышленник может изменить содержимое страницы или сообщения, чтобы ввести пользователя в заблуждение.
  • — Content Spoofing (Image) работает через параметр img в imagepg.php, позволяя изменять изображения на странице, чтобы обмануть пользователя, побуждая его нажать на вредоносную ссылку.

Неправильная настройка серверов

Иногда безопасность нарушается из-за неверных настроек серверов или программного обеспечения. Например, на внешнем периметре могли быть доступны файлы архива сайта и портала Bitrix, такие как .settings.php и dbcon.php, содержащие чувствительную информацию о конфигурации сервера и подключениях к базе данных.

Open redirection

Эта уязвимость позволяет злоумышленникам перенаправлять пользователей на сторонние вредоносные ресурсы. URL-перенаправления могут вводить пользователей в заблуждение относительно того, какой сайт они посещают, и способствовать фишинговым атакам. В Bitrix использование функции LocalRedirect() может привести к открытым перенаправлениям, которые помогут злоумышленникам перехватить данные пользователей или распространить вредоносное ПО.

Full Path Disclosure

Эта уязвимость позволяет раскрыть полный путь к директории сайта через ошибки, возникающие при некорректной обработке. Если PHP настроен для отображения ошибок (display_errors=On), атакующий может использовать конечные точки, такие как /bitrix/admin/restore_export.php, чтобы получить полный путь к корневой директории. Это дает злоумышленнику возможность узнать структуру файлов и пути, что облегчает дальнейшие атаки.

Server-Side Request Forgery (SSRF)

Уязвимость SSRF в Bitrix, выявленная в скриптах main.urlpreview и html_editor_action.php, позволяет злоумышленнику отправлять запросы от имени системы на произвольные серверы. В случае, если функция url_preview_enable активирована, злоумышленник может получить доступ к внутренним ресурсам и конфиденциальным данным.

Local File Disclosure / Include

Эта уязвимость была найдена в скрипте virtual_file_system.php. Она позволяет злоумышленнику при определенных условиях читать локальные файлы или включать их в ответ сервера. При определенной настройке или в связке с другими уязвимостями это может привести к утечке конфиденциальных данных сервера.

Arbitrary Object Instantiation

Уязвимость Arbitrary Object Instantiation позволяет злоумышленнику создавать объекты произвольных классов, используя параметры запроса. Например, с помощью vote/uf.php атакующий может создать экземпляр встроенного класса PHP, например PDO, что позволяет совершить SSRF-атаку или другие действия. Уязвимость эксплуатирует особенности внутренней логики Bitrix и может быть сложной для обнаружения.

Arbitrary File Write

Уязвимость в html_editor_action.php дает возможность злоумышленнику записывать файлы в определенные директории, такие как upload/tmp/, на сервере. Поскольку система допускает запись файлов, злоумышленник может загрузить файл с кодом и затем попытаться его выполнить, получив доступ к серверу. Это предоставляет злоумышленнику возможность выполнять произвольные команды и вмешиваться в работу системы.

Как правильно провести аудит безопасности web-приложения?

Чтобы обеспечить безопасность web-приложения, важно провести аудит, который поможет выявить слабые места. Вот несколько ключевых шагов:

  • Анализ кода
    Проверка исходного кода приложения — один из важнейших шагов в обеспечении безопасности. Использование инструментов, таких как OWASP ZAP или Fortify, помогает найти уязвимости и ошибки в логике работы. Однако это желательно доверить специалисту, чтобы выявить скрытые ошибки.
  • Пентест (тестирование на проникновение)
    Для более глубокого анализа безопасности следует провести тесты на проникновение, имитируя атаки хакеров. Обычно для этого приглашаются тестировщики из сторонних организаций, что позволяет взглянуть на систему со стороны и выявить больше потенциальных угроз.
  • Проверка серверов и сетевой безопасности
    Проверка настройки серверов и инфраструктуры приложения обязательна для устранения ошибок в конфигурации, таких как неправильная настройка брандмауэра, балансировщика нагрузки и других сетевых компонентов.
  • Управление доступом
    Важно проверить систему аутентификации и авторизации. На некоторых проектах могут присутствовать множественные точки входа. Эти ошибки конфигурации могут упростить brute-force атаки на учетные данные пользователей.
  • Обновления и патчи
    Регулярные обновления системы и программного обеспечения — важная часть стратегии безопасности. Обновления устраняют известные уязвимости и делают систему более защищенной. Из популярных и опасных на данный момент это — уязвимость модуля landing системы управления содержимым сайтов (CMS) 1С-Битрикс. Эксплуатация уязвимости может позволить нарушителю, действующему удалённо, выполнить команды ОС на уязвимом узле, получить контроль над ресурсами и проникнуть во внутреннюю сеть.

Пример Bitrix24: как решается вопрос безопасности?

Bitrix24 — это популярная платформа для управления бизнесом, которая также является web-приложением. Рассмотрим, какие меры безопасности встроены в систему Bitrix24.

  • Шифрование HTTPS (SSL/TLS)
    Bitrix24 использует SSL/TLS для защиты всех данных, передаваемых между пользователями и серверами.
  • Многофакторная аутентификация
    Для повышения уровня безопасности Bitrix24 предлагает возможность использовать многофакторную аутентификацию, что помогает защитить аккаунты пользователей от несанкционированного доступа.
  • Регулярные обновления безопасности
    Команда Bitrix24 часто обновляет свою платформу, устраняя уязвимости и добавляя новые функции для повышения безопасности. Это позволяет поддерживать систему в актуальном и защищенном состоянии. Так же сам Bitrix24 часто выставляется на Bug Bounty площадках для привлечения белых хакеров на тестирование на проникновение, чтобы еще больше поднять безопасность системы.

Заключение

Анализ защищенности web-приложений — это не одноразовая задача, а процесс, который должен постоянно поддерживаться. От правильной настройки серверов и базы данных до регулярных обновлений безопасности — каждая деталь имеет значение. Рекомендуется проводить пентест раз в полгода и привлекать разные компании для тестирования, чтобы получить всесторонний анализ, а также проводить анализ защищенности web-приложений используя помощь специалистов и «Астрал. Безопасность» всегда готовы вам с этим помочь.

Автор: Дмитрий Высоцкий, ведущий специалист по информационной безопасности компании «Астрал. Безопасность».

Оригинал публикации на сайте CISOCLUB: "Анализ защищенности web-приложений: на что стоит обращать внимание".

Смотреть публикации по категориям: Новости | Мероприятия | Статьи | Обзоры | Отчеты | Интервью | Видео | Обучение | Вакансии | Утечки | Уязвимости | Сравнения | Дайджесты | Прочее.

Подписывайтесь на нас: VK | Rutube | Telegram | Дзен | YouTube | X.