Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
trellis-cve-2018-6389 — Смягчение атак CVE-2018-6389 на WordPress load-scripts / load-styles | Kitploit
Инструменты/GitHubGitHub/itinerisltd/trellis-cve-2018-6389
Оборонительные ИнструментыАнализ уязвимостейАудит конфигурацииВеб-безопасностьDevSecOpsНеправильная КонфигурацияArchived
GitHubitinerisltd/trellis-cve-2018-6389

trellis-cve-2018-6389

Смягчение атак CVE-2018-6389 на WordPress load-scripts / load-styles

Репозиторий
137 лет назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

trellis-cve-2018-6389

GitHub tag license

Смягчение атак на WordPress load-scripts / load-styles (CVE-2018-6389).

  • Цель
  • Зачем?
  • Смягчение
  • Почему нет?
  • Требования
  • Установка
    • Trellis
    • WordPress
  • Часто задаваемые вопросы
    • Могу ли я использовать это на управляемом хостинге?
    • Выглядит здорово. Где найти ещё подобные полезности?
    • Этого нет на wp.org. Где я могу оставить ⭐️⭐️⭐️⭐️⭐️ отзыв?
  • Альтернативы
  • Тестирование
    • Проверка синтаксиса
  • Информация об авторе
  • Обратная связь
  • Журнал изменений
  • Лицензия

Цель

Запретить все запросы к wp-admin/load-scripts.php и wp-admin/load-styles.php через Nginx.

Зачем?

  • How to DoS 29% of the World Wide Websites - CVE-2018-6389

Кратко

он [WordPress] использует load-scripts.php (для JS) или load-styles.php (для CSS-файлов), и браузер получает несколько JS/CSS-файлов через один запрос — с точки зрения производительности это лучше, и страница загружается быстрее. Эта функция была разработана только для страниц администратора, но также используется на странице wp-login.php, поэтому для этих файлов не требуется аутентификация.

-- How to DoS 29% of the World Wide Websites - CVE-2018-6389

root@kitploit:~
# например
https://example.com/wp/wp-admin/load-scripts.php?c=1&load[]=jquery-ui-core,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check

# то же самое для https://example.com/wp/wp-admin/load-styles.php

Один запрос (без аутентификации) может заставить сервер выполнить >180 операций чтения и объединить все файлы в ответ размером >4 МБ. Для небольших серверов без надлежащих брандмауэров и ограничения скорости этого достаточно для проведения DoS-атак.

Смягчение

  1. Вам обязательно нужно использовать HTTPS. Если нет, вам вообще не следует иметь веб-сайт.
  2. Если вы используете HTTPS, нет причин не использовать HTTP/2.
  3. С HTTP/2 нет необходимости объединять файлы. Это антипаттерн.

-- How to mitigate CVE-2018-6389 – the load-scripts.php DoS "attack" in WordPress

  • Сообщите WordPress не использовать конкатенацию JS и CSS файлов.
  • Запретите все запросы к load-scripts.php и load-styles.php.

Почему нет?

  • Все комментарии от otto4242 в этой теме на Reddit
  • Комментарии wfalaa (автора Wordfence) в этой теме на wp.org

Требования

  • Trellis 17c26fc или новее
  • Ansible v2.6 или новее

Установка

Trellis

Добавьте эту роль в requirements.yml:

root@kitploit:~
# requirements.yml

- src: https://github.com/ItinerisLtd/trellis-cve-2018-6389
  version: 0.1.0 # Check for latest version!

Выполните команду:

root@kitploit:~
➜ ansible-galaxy install -r requirements.yml --force

Добавьте роль в dev.yml и server.yml, сразу после role: wordpress-setup:

root@kitploit:~
roles:
  # some other Trellis roles ...
  - { role: wordpress-setup, tags: [wordpress, wordpress-setup, letsencrypt] }
  - { role: trellis-cve-2018-6389, tags: [nginx, wordpress, wordpress-setup] }
  # some other Trellis roles ...

Затем выполните повторное развертывание как обычно:

root@kitploit:~
# https://roots.io/trellis/docs/local-development-setup/
➜ vagrant reload --provision

# https://roots.io/trellis/docs/remote-server-setup/
➜ ansible-playbook server.yml -e env=<environment>

WordPress

Отключите конкатенацию:

root@kitploit:~
# config/application.php OR wp-config.php OR equivalent

# normal OR outdated Bedrock:
define('CONCATENATE_SCRIPTS', false);

# Bedrock with roots/wp-config:
Config::define('CONCATENATE_SCRIPTS', false);

Затем выполните развертывание как обычно:

root@kitploit:~
# https://roots.io/trellis/docs/deploys/
➜ ./bin/deploy.sh <environment> <domain>

# or alternatively
➜ ansible-playbook deploy.yml -e "site=<domain> env=<environment>"

Часто задаваемые вопросы

Могу ли я использовать это на управляемом хостинге?

Нет, вы не можете использовать это на управляемом хостинге, таком как Kinsta или WP Engine.

Это работа хостинговой компании — смягчать подобные атаки.

Выглядит здорово. Где найти ещё подобные полезности?

  • Статьи в блоге Itineris
  • Больше проектов в профиле Itineris на GitHub
  • Подпишитесь на @itineris_ltd и @TangRufus в Twitter
  • Наймите Itineris для создания вашего следующего замечательного сайта

Этого нет на wp.org. Где я могу оставить ⭐️⭐️⭐️⭐️⭐️ отзыв?

Спасибо! Рады, что вам нравится. Для нас важно, чтобы мой начальник знал, что кто-то использует этот проект. Вместо отзывов на wp.org рассмотрите:

  • напишите что-нибудь хорошее в Twitter с упоминанием @itineris_ltd
  • поставьте звезду этому репозиторию на GitHub
  • следите за этим репозиторием на GitHub
  • напишите посты в блоге
  • отправляйте pull request
  • наймите Itineris

Альтернативы

  • Как смягчить CVE-2018-6389 – DoS-«атака» load-scripts.php в WordPress

Тестирование

Проверка синтаксиса

root@kitploit:~
➜ ansible-playbook -i 'localhost,' --syntax-check tests/test.yml

Информация об авторе

trellis-cve-2018-6389 — проект компании Itineris Limited, созданный Tang Rufus.

Особая благодарность команде Roots, чей Trellis делает этот проект возможным.

Полный список участников можно найти здесь.

Обратная связь

Пожалуйста, оставляйте отзывы! Мы хотим сделать эту библиотеку полезной как можно для большего числа проектов. Пожалуйста, отправьте issue и укажите, что вам нравится, а что нет, или сделайте форк проекта и предложите изменения. Не бывает слишком мелких вопросов.

Журнал изменений

Подробнее об изменениях см. в CHANGELOG.

Лицензия

trellis-cve-2018-6389 выпущен под лицензией MIT.

Скачать инструмент