# Clickjacking
Apprenez le piratage AWS de zéro à héros avechtARTE (Expert de l'équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
\
Utilisez [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking) pour construire et **automatiser facilement des flux de travail** alimentés par les outils communautaires les plus avancés au monde.\
Accédez dès aujourd'hui :
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %}
## Qu'est-ce que le Clickjacking
Dans une attaque de clickjacking, un **utilisateur** est **trompé** pour **cliquer** sur un **élément** d'une page web qui est soit **invisible** soit déguisé en un autre élément. Cette manipulation peut entraîner des conséquences non intentionnelles pour l'utilisateur, telles que le téléchargement de logiciels malveillants, la redirection vers des pages web malveillantes, la fourniture d'informations d'identification ou sensibles, des transferts d'argent, ou l'achat en ligne de produits.
### Astuce de préremplissage de formulaires
Parfois, il est possible de **remplir la valeur des champs d'un formulaire en utilisant des paramètres GET lors du chargement d'une page**. Un attaquant peut abuser de ce comportement pour remplir un formulaire avec des données arbitraires et envoyer la charge utile de clickjacking afin que l'utilisateur appuie sur le bouton Soumettre.
### Remplir un formulaire avec le glisser-déposer
Si vous avez besoin que l'utilisateur **remplisse un formulaire** mais que vous ne voulez pas lui demander directement d'écrire des informations spécifiques (comme l'e-mail et/ou le mot de passe spécifique que vous connaissez), vous pouvez simplement lui demander de **glisser-déposer** quelque chose qui écrira vos données contrôlées comme dans [**cet exemple**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Charge utile de base
```markup
Click me
```
### Charge utile multistep
```markup
Click me first
Click me next
```
### Payload Drag\&Drop + Clic
```markup
.
1. Click and press delete button
3.Click me
2.DRAG ME TO THE RED BOX
```
### XSS + Clickjacking
Si vous avez identifié une attaque **XSS qui nécessite qu'un utilisateur clique** sur un élément pour **déclencher** le XSS et que la page est **vulnérable au clickjacking**, vous pourriez l'exploiter pour tromper l'utilisateur en le faisant cliquer sur le bouton/lien.
Exemple :
_Vous avez trouvé un **auto-XSS** dans certains détails privés du compte (détails que **vous seul pouvez définir et lire**). La page avec le **formulaire** pour définir ces détails est **vulnérable** au **clickjacking** et vous pouvez **pré-remplir** le **formulaire** avec les paramètres GET._
__Un attaquant pourrait préparer une attaque de **clickjacking** sur cette page en **pré-remplissant** le **formulaire** avec la **charge utile XSS** et en **trompant** l'**utilisateur** pour qu'il **soumette** le formulaire. Ainsi, **lorsque le formulaire est soumis** et que les valeurs sont modifiées, l'**utilisateur exécutera le XSS**.
## Stratégies pour atténuer le Clickjacking
### Défenses côté client
Les scripts exécutés côté client peuvent effectuer des actions pour prévenir le Clickjacking :
* S'assurer que la fenêtre de l'application est la fenêtre principale ou supérieure.
* Rendre tous les cadres visibles.
* Empêcher les clics sur les cadres invisibles.
* Détecter et alerter les utilisateurs sur les tentatives potentielles de Clickjacking.
Cependant, ces scripts de rupture de cadre peuvent être contournés :
* **Paramètres de sécurité des navigateurs :** Certains navigateurs peuvent bloquer ces scripts en fonction de leurs paramètres de sécurité ou du manque de prise en charge de JavaScript.
* **Attribut `sandbox` de l'iframe HTML5 :** Un attaquant peut neutraliser les scripts de rupture de cadre en définissant l'attribut `sandbox` avec les valeurs `allow-forms` ou `allow-scripts` sans `allow-top-navigation`. Cela empêche l'iframe de vérifier s'il s'agit de la fenêtre supérieure, par exemple.
```html
```
Les valeurs `allow-forms` et `allow-scripts` permettent d'activer des actions dans l'iframe tout en désactivant la navigation de niveau supérieur. Pour garantir le bon fonctionnement du site ciblé, des autorisations supplémentaires telles que `allow-same-origin` et `allow-modals` peuvent être nécessaires, en fonction du type d'attaque. Les messages de la console du navigateur peuvent indiquer quelles autorisations autoriser.
### Défenses côté serveur
#### X-Frame-Options
L'en-tête de réponse HTTP **`X-Frame-Options`** informe les navigateurs sur la légitimité du rendu d'une page dans un `` ou `