Share
## https://sploitus.com/exploit?id=C60B166C-41DD-5FBF-960F-FAA3F7000C8C
# PoC Π΄Π»Ρ CVEβ2023β28676 β Command Injection
**ΠΠ²ΡΠΎΡ:** Π₯ΠΎΠ»ΠΎΡΡ
**ΠΠ°Π΄Π°Π½ΠΈΠ΅:** ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ β1 ΠΏΠΎ ΠΊΡΡΡΡ Β«Python Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ² ΠΠΒ»
## ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
**CVEβ2023β28676** β ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π²Π΅Π±βΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
**Π‘ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:** ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½Π΅Π΄ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ (`;`, `|`).
**ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ³ΡΠΎΠ·Π°:** Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ (ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ Ρ.βΠ΄.).
## PoCβΡΠΊΡΠΈΠΏΡ
Π‘ΠΊΡΠΈΠΏΡ `poc_cve_2023_28676.py` ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ `id`.
## ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π·Π°ΠΏΡΡΠΊΡ
### Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
* Python 3.6+
* ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° `requests`
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ°
bash
python poc_cve_2023_28676.py
Π¨Π°Π³ 1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ python.org.
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΠ‘.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΡΠΌΠ΅ΡΡΡΠ΅ ΠΎΠΏΡΠΈΡ Β«Add Python to PATHΒ».
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ: ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
python --version
ΠΈΠ»ΠΈ
python3 --version
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° VSCode
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ VSCode Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° code.visualstudio.com.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ°.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° VSCode Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Python
ΠΡΠΊΡΠΎΠΉΡΠ΅ VSCode.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl+Shift+X (ΠΈΠ»ΠΈ Cmd+Shift+X Π½Π° macOS) Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Β«PythonΒ» ΠΎΡ Microsoft.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python:
Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Shift+P Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΡ;
Π²Π²Π΅Π΄ΠΈΡΠ΅ Β«Python: Select InterpreterΒ»;
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Python ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ VSCode
Pylance β ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ΅ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
GitLens β ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Git.
Better Comments β ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
Python Docstring Generator β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π¨Π°Π³ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, cve_poc_exploit).
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Π² VSCode: File β Open Folder.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
bash
python -m venv .venv
ΠΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
Windows:
bash
.venv\Scripts\activate
macOS/Linux:
bash
source .venv/bin/activate
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
bash
pip install requests
Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² requirements.txt:
bash
pip freeze > requirements.txt
### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
```bash
pip install -r requirements.txt
ΠΠ°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π‘ΠΊΡΠΈΠΏΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅Π»Π΅ΠΉ.
ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π±Π΅Π· ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°.