Share
## https://sploitus.com/exploit?id=84E4F07E-955F-5EE1-A98C-64A4A18E22B3
# ΠΡΡΠ΅Ρ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
**`vulnerable_python | 2025-09-10`**
## Project Overview
**Π£ΡΠ·Π²ΠΈΠΌΠΎΠ΅ Python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅** - ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ:
- **Pickle Deserialization RCE** - Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- **YAML Injection** - ΠΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡΠΈΠ½Π³ YAML
- **XXE Injection** - XML External Entity ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°
- **Eval() RCE** - ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· eval()
- **Subprocess Command Injection** - ΠΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² subprocess
## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
### Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
### Π’Π΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
```bash
# ΠΠ°ΠΏΡΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
docker run --name vuln_python_server --rm -ti -p 5000:5000 egonzalez90/vuln_python_server:latest
# ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ
http://localhost:5000/ # ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°
http://localhost:5000/eval # Eval RCE
http://localhost:5000/pickle # Pickle deserialization
http://localhost:5000/yaml # YAML injection
http://localhost:5000/xml # XXE injection
http://localhost:5000/subprocess # Command injection
```
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: `http://localhost:5000`
## Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
### Π‘Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΠΎ CVSS v3.1
| Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ | Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ° | CVSS Score | ΠΠ΅ΠΊΡΠΎΡ | Exploitability | Impact |
|------------|---------------|------------|---------|----------------|---------|
| **Eval() RCE** | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ | **10.0** | [`AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H`](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) | ΠΠ΅Π³ΠΊΠΈΠΉ | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ |
| **Pickle Deserialization RCE** | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ | **9.8** | [`AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) | ΠΠ΅Π³ΠΊΠΈΠΉ | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ |
| **YAML Injection** | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ | **9.8** | [`AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) | ΠΠ΅Π³ΠΊΠΈΠΉ | ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ |
| **XXE Injection** | ΠΡΡΠΎΠΊΠΈΠΉ | **8.2** | [`AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N`](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N) | ΠΠ΅Π³ΠΊΠΈΠΉ | ΠΡΡΠΎΠΊΠΈΠΉ |
| **Subprocess Command Injection** | ΠΡΡΠΎΠΊΠΈΠΉ | **8.6** | [`AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L`](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L) | ΠΠ΅Π³ΠΊΠΈΠΉ | ΠΡΡΠΎΠΊΠΈΠΉ |
---
### 1. Eval() Remote Code Execution
**ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ:** `POST /eval`
**Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ°:** ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ
**Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
- ΠΡΡΠΌΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· `eval()`
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°Π½ΠΈΡΠΈΠ·Π°ΡΠΈΠΈ
- ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python
**ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ:**
- [`exploits/eval_exploit_fixed.py`](exploits/eval_exploit_fixed.py)
```python
# Π§Π΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
__import__('os').system('ls -la /')
```
**ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°:**

*ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΠ΅Π»Π° ΡΠ΅ΡΠ΅Π· Π±ΡΠ°ΡΠ·Π΅Ρ*

*Π£ΡΠΏΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅*

*ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ*

*ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ls*
**ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Python ΠΊΠΎΠ΄Π°
- ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
- ΠΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
**Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:**
- ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ `eval()` Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `ast.literal_eval()` Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠ³ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
---
### 2. Pickle Deserialization RCE
**ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ:** `POST /pickle`
**Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ°:** ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ
**Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
- ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· `pickle.loads()`
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ `__reduce__`
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
**ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ:**
- [`exploits/pickle_exploit_fixed.py`](exploits/pickle_exploit_fixed.py)
```python
import pickle
import base64
import os
class Exploit(object):
def __reduce__(self):
return (os.system, ('cat /etc/passwd',))
payload = base64.b64encode(pickle.dumps(Exploit())).decode()
```
**ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°:**

*ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Pickle ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ*

*ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»*
**ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄
- Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
- ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
**Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:**
- ΠΠ·Π±Π΅Π³Π°ΡΡ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JSON Π²ΠΌΠ΅ΡΡΠΎ pickle Π΄Π»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
---
### 3. YAML Injection
**ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ:** `POST /yaml`
**Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ°:** ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ
**Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ `yaml.load()` Π²ΠΌΠ΅ΡΡΠΎ `yaml.safe_load()`
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΅ΡΠ΅Π· YAML ΡΠ΅Π³ΠΈ
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ YAML ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ
**ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ:**
- [`exploits/yaml_exploit_fixed.py`](exploits/yaml_exploit_fixed.py)
```yaml
!!python/object/apply:os.system
- 'cat /etc/passwd'
```
**ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°:**

*ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ YAML ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ*

*Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ°*
**ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ YAML
- ΠΠ±Ρ
ΠΎΠ΄ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- ΠΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
**Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `yaml.safe_load()` Π²ΠΌΠ΅ΡΡΠΎ `yaml.load()`
- ΠΠ°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π½ΠΈΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ YAML Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
- ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ YAML ΡΠ΅Π³ΠΈ
---
### 4. XXE Injection
**ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ:** `POST /xml`
**Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ°:** ΠΡΡΠΎΠΊΠΈΠΉ
**Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° XML Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ entities
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· XXE
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ XML
**ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ:**
- [`exploits/xml_exploit_fixed.py`](exploits/xml_exploit_fixed.py)
```xml
]>
&xxe;
```
**ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°:**

*ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ XXE ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ*

*Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΠ΅Π· XXE*
**ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:**
- Π§ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
- Server Side Request Forgery (SSRF)
- Π Π°ΡΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
**Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:**
- ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π½Π΅ΡΠ½ΠΈΡ
entities Π² XML ΠΏΠ°ΡΡΠ΅ΡΠ°Ρ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ XML ΠΏΠ°ΡΡΠ΅ΡΡ (defusedxml)
- ΠΠ°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ XML ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ
---
### 5. Subprocess Command Injection
**ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ:** `POST /subprocess`
**Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΈΡΠΊΠ°:** ΠΡΡΠΎΠΊΠΈΠΉ
**Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ `shell=True` Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ
- ΠΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅Π· ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
**ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ:**
- [`exploits/subprocess_exploit_fixed.py`](exploits/subprocess_exploit_fixed.py)
```bash
127.0.0.1; cat /etc/passwd
```
**ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°:**

*ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Subprocess ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ*

*Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ command injection*
**ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄
- Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΡΠΊΠ°Π»Π°ΡΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ
**Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:**
- ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ `shell=True`
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ: `subprocess.run(['ping', '-c', '1', ip])`
- ΠΠ°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄
## ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ
### Π‘ΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΎΠ΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
#### 1. **ΠΠ°ΠΏΡΡΠΊ Π²ΡΠ΅Ρ
ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠΎΠ²** - [`scripts/run_all_scripts.sh`](scripts/run_all_scripts.sh)
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ:
**Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ:**
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΎΠ²
- ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ Π²ΡΠ΅Ρ
5 ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠΎΠ²
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
**ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅:**
```bash
chmod +x scripts/run_all_scripts.sh
./scripts/run_all_scripts.sh
```
**ΠΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:**
- `logs/exploitation_*.log` - ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»
- `logs/EVAL_*.log` - ΠΠΎΠ³ Π΄Π»Ρ Eval ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
- `logs/PICKLE_*.log` - ΠΠΎΠ³ Π΄Π»Ρ Pickle ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
- `logs/YAML_*.log` - ΠΠΎΠ³ Π΄Π»Ρ YAML ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
- `logs/XXE_*.log` - ΠΠΎΠ³ Π΄Π»Ρ XXE ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
- `logs/SUBPROCESS_*.log` - ΠΠΎΠ³ Π΄Π»Ρ Subprocess ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
#### 2. **ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ HTML ΠΎΡΡΠ΅ΡΠ°** - [`scripts/generate_reports.sh`](scripts/generate_reports.sh)
Π‘ΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ HTML ΠΎΡΡΠ΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΠΎΠ³ΠΎΠ²:
**Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ:**
- ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π°
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ HTML ΠΎΡΡΠ΅ΡΠ°
- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
- ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ CSS
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΊΡΡΡΠΈΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
**ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅:**
```bash
chmod +x scripts/generate_reports.sh
./scripts/generate_reports.sh
```
**ΠΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:**
- [`reports/report_*.html`](reports/report_2025-09-10_19-28-52.html) - HTML ΠΎΡΡΠ΅Ρ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ
---