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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-2471 — PoC для CVE-2021-2471 - XXE в MySQL Connector/J | Kitploit
Инструменты/GitHubGitHub/drunkenshells/cve-2021-2471
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность Баз Данных
GitHubdrunkenshells/cve-2021-2471

CVE-2021-2471

PoC для CVE-2021-2471 - XXE в MySQL Connector/J

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

Популярное

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

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

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

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

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

CVE-2021-2471 - XXE в MySQL Connector/J

Уязвимость в продукте MySQL Connectors от Oracle MySQL (компонент: Connector/J). Затронутые поддерживаемые версии: 8.0.26 и более ранние.
Успешные атаки на эту уязвимость могут привести к несанкционированному доступу к критическим данным или полному доступу ко всем данным, доступным через MySQL Connectors, а также к несанкционированной возможности вызвать зависание или часто повторяющийся сбой (полный отказ в обслуживании) MySQL Connectors.

Отказ от ответственности:

Эта уязвимость была обнаружена Сюй Юаньчжэнем из команды безопасности Alibaba Cloud и Хункунем Ченом из Alibaba.
Этот PoC предоставлен в исследовательских целях. Не используйте его для атак на цели, на которые у вас нет явного разрешения.

Раскрытие информации вендором:

Раскрытие информации вендором и исправление этой уязвимости можно найти здесь.

Доказательство концепции (PoC):

Уязвимость XXE заключается в том, что XML, содержащий вредоносные сущности DTD, принимается компонентом MysqlSQLXML и срабатывает при вызове функции getSource().

Как видно из приведенного ниже кода из mysql-connector-java-8.0.26.jar, когда класс DOMSource передается в качестве аргумента функции getSource(), он небезопасным образом открывает DocumentBuilder, так что если злоумышленник контролирует содержимое inputSource, переданного сборщику, он может использовать это для получения XXE:

root@kitploit:~
public <T extends Source> T getSource(Class<T> clazz) throws SQLException { try { this.checkClosed(); this.checkWorkingWithResult(); InputSource reader; if (clazz != null && !clazz.equals(SAXSource.class)) { SQLException sqlEx; if (clazz.equals(DOMSource.class)) { try { DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setNamespaceAware(true); DocumentBuilder builder = builderFactory.newDocumentBuilder(); if (this.fromResultSet) { inputSource = new InputSource(this.owningResultSet.getCharacterStream(this.columnIndexOfXml)); } else { inputSource = new InputSource(new StringReader(this.stringRep)); } return new DOMSource(builder.parse(inputSource));

Существует 2 способа передать вредоносный XXE в MysqlSQLXML:

  • Использование функции sqlxml.setString() (если злоумышленник может вызвать или передать произвольный ввод в функцию setString)
  • Размещение XML в БД и его получение через результирующий набор с помощью функции resultSet.getSQLXML() (если злоумышленник имеет доступ на запись в БД или может указать жертве на базу данных, контролируемую злоумышленником)

Дополнительные ресурсы:

PoC XXE с использованием sqlxml.setString()
PoC XXE с использованием resultSet.getSQLXML()
Скачать уязвимый JAR
Другие XXE-полезные нагрузки

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