Отраженный XSS на страницах администратора плагина WordPress

  • Автор темы КМС
  • Дата начала
  • Участники 1

КМС

Newbie
17.08.2020
5
0
1
1600159735446.png

Панель управления в WordPress - довольно безопасное место: только пользователи с повышенными привилегиями могут получить к ней доступ. Эксплуатация панели администратора плагина здесь не принесет никакой пользы - администратор уже имеет необходимые разрешения для выполнения всех действий, которые может вызвать уязвимость.

Хотя обычно это так, существует ряд приемов, которые злоумышленники используют, чтобы обмануть администратора и заставить его выполнить действия, которых они не ожидают, например, подделка межсайтовых запросов (CSRF) или атаки с использованием Clickjacking. Используя эти методы, злоумышленник может использовать уязвимость от имени администратора, что потенциально может превратить незначительную проблему в серьезную проблему безопасности.

Злоумышленник может воспользоваться этими уязвимостями, попросив администратора перейти по ссылке или даже просмотреть изображение, используя специально созданную полезную нагрузку, специфичную для целевого веб-сайта.

Вот список плагинов, которые были уязвимы для этой атаки:

Уязвимости
Конфиденциальные действия на веб-сайте необходимо защищать с помощью самых разных методов: проверки разрешений, одноразовых номеров, секретов и т.д.. С точки зрения безопасности часто упускаются из виду страницы, которые не запускают действия, такие как настройки плагина или страницы обзора.

Мы обнаружили, что все эти плагины имеют одну и ту же проблему: они доверяют URL-адресу браузера, содержащему только действительную информацию, и не используют другие механизмы для очистки или проверки содержащихся в нем данных. Поскольку данные не обрабатывались должным образом, это всегда приводило к отраженной XSS-уязвимости, когда вредоносный код мог быть выполнен от имени пользователя.

Поскольку для каждого из этих плагинов существует несколько вариантов уязвимости, давайте рассмотрим типичный сценарий: страница уязвимых настроек.

Страницы настроек часто имеют несколько вкладок, на которых информация разбита по категориям. Чтобы отличить, какая из этих вкладок используется в настоящее время, эти плагины часто используют аргумент запроса вкладки для условного рендеринга различных разделов страницы.

Вот уязвимый образец:

1600159834921.png


В этом сценарии, используя $ activeTab в качестве значения, класса или отображая его в любом месте без очистки, мы получаем отраженный XSS с использованием аргумента tab.

Наконец, чтобы использовать этот XSS, все, что нам нужно сделать, это отправить администратору ссылку на страницу настроек с нашей полезной нагрузкой в аргументе tab:

Код:
http://website.invalid.com/wp-admin/options-general.php?page=plugin-settings&tab="><script>alert(document.domain)</script>

Поскольку ссылка предназначена для того же веб-сайта, у ничего не подозревающего администратора может возникнуть соблазн щелкнуть по ней - действие, которое приведет к срабатыванию эксплойта в его собственной учетной записи.

Вывод

Хотя некоторые уязвимости определенно более опасны, чем другие, все уязвимости, независимо от их серьезности, могут быть использованы злоумышленниками для нанесения ущерба вашему веб-сайту.

Чтобы снизить риск и предотвратить эксплойт, обязательно обновляйте все программное обеспечение веб-сайта и сторонние компоненты с помощью последних исправлений безопасности. Мы также рекомендуем владельцам веб-сайтов воспользоваться услугами мониторинга целостности файлов, которые могут помочь вам определить индикаторы взлома.

Если у вас возникают проблемы с отслеживанием обновлений, вы можете использовать брандмауэр веб-приложений для виртуального исправления известных уязвимостей, пока не доберетесь до них самостоятельно.
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню