Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser des workflows** grâce aux outils communautaires **les plus avancés**.\
* Vous travaillez dans une **entreprise de cybersécurité** ? Vous voulez voir votre **entreprise annoncée dans HackTricks** ? ou souhaitez-vous accéder à 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 d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **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 hacking en soumettant des PR au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
La falsification de requête côté serveur (également connue sous le nom de SSRF) est une vulnérabilité de sécurité web qui permet à un attaquant d'**induire l'application côté serveur à effectuer des requêtes HTTP vers un domaine arbitraire** de son choix. (Depuis [ici](https://portswigger.net/web-security/ssrf))
La première chose à faire est de capturer une interaction SSRF provoquée par vous. Pour capturer une interaction HTTP ou DNS, vous pouvez utiliser des outils tels que :
Habituellement, vous constaterez que le SSRF ne fonctionne que dans **certains domaines autorisés** ou URL. Dans la page suivante, vous avez une **compilation de techniques pour essayer de contourner cette liste blanche** :
Si le serveur est correctement protégé, vous pourriez **contourner toutes les restrictions en exploitant une Redirection Ouverte à l'intérieur de la page web**. Parce que la page web permettra le **SSRF au même domaine** et suivra probablement les **redirections**, vous pouvez exploiter la **Redirection Ouverte pour faire accéder le serveur à n'importe quelle ressource interne**.\
Lire plus ici : [https://portswigger.net/web-security/ssrf](https://portswigger.net/web-security/ssrf)
Lightweight Directory Access Protocol. C'est un protocole d'application utilisé sur un réseau IP pour gérer et accéder au service d'annuaire distribué.
En utilisant ce protocole, vous pouvez spécifier l'**IP, le port et les octets** que vous souhaitez que le serveur **envoie**. Ensuite, vous pouvez essentiellement exploiter un SSRF pour **communiquer avec n'importe quel serveur TCP** (mais vous devez d'abord savoir comment parler au service).\
Heureusement, vous pouvez utiliser [Gopherus](https://github.com/tarunkant/Gopherus) pour créer des charges utiles pour plusieurs services. De plus, [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) peut être utilisé pour créer des charges utiles _gopher_ pour les services _Java RMI_.
Si le SSRF est exécuté par **curl**, curl a une fonctionnalité appelée [**URL globbing**](https://everything.curl.dev/cmdline/globbing) qui pourrait être utile pour contourner les WAFs. Par exemple, dans ce [**writeup**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-easylfi), vous pouvez trouver cet exemple pour une **traversée de chemin via le protocole `file`** :
Certaines applications utilisent des logiciels d'analyse côté serveur qui suivent les visiteurs. Ces logiciels enregistrent souvent l'en-tête Referrer des requêtes, car cela présente un intérêt particulier pour le suivi des liens entrants. Souvent, le logiciel d'analyse visitera réellement toute URL tierce qui apparaît dans l'en-tête Referrer. Cela est généralement fait pour analyser le contenu des sites référents, y compris le texte d'ancrage utilisé dans les liens entrants. En conséquence, l'en-tête Referer représente souvent une surface d'attaque fructueuse pour les vulnérabilités SSRF.\
Pour découvrir ce type de vulnérabilités "cachées", vous pourriez utiliser le plugin "**Collaborator Everywhere**" de Burp.
Avec cette configuration non sécurisée, nous pouvons **exploiter la vulnérabilité SSRF simplement en spécifiant l'IP ou le nom de domaine désiré dans le champ SNI**. Par exemple, la commande suivante forcerait Nginx à se connecter à _internal.host.com_ :
Si la page web crée automatiquement un PDF avec des informations que vous avez fournies, vous pouvez **insérer du JS qui sera exécuté par le créateur de PDF** lui-même (le serveur) pendant la création du PDF et vous pourrez exploiter une SSRF. [**Trouvez plus d'informations ici**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)**.**
Pour certaines exploitations, vous pourriez avoir besoin d'**envoyer une réponse de redirection** (potentiellement pour utiliser un protocole différent comme gopher). Voici différents codes python pour répondre avec une redirection :
Si vous rencontrez des **problèmes** pour **exfiltrer le contenu d'une IP locale** à cause de **CORS/SOP**, le **DNS Rebidding** peut être utilisé pour contourner cette limitation :
[**`Singularity of Origin`**](https://github.com/nccgroup/singularity) est un outil pour réaliser des attaques de [DNS rebinding](https://en.wikipedia.org/wiki/DNS_rebinding). Il inclut les composants nécessaires pour relier l'adresse IP de la machine cible au nom DNS du serveur d'attaque et pour servir des charges utiles d'attaque afin d'exploiter des logiciels vulnérables sur la machine cible.
1. Demander à l'utilisateur/robot **d'accéder** à un **domaine** contrôlé par l'**attaquant**
2. Le **TTL** du **DNS** est de **0** sec (ainsi la victime vérifiera à nouveau l'IP du domaine bientôt)
3. Une **connexion TLS** est créée entre la victime et le domaine de l'attaquant. L'attaquant introduit la **charge utile à l'intérieur** de l'**ID de session ou du Ticket de session**.
4. Le **domaine** commencera une **boucle infinie** de redirections contre **lui-même**. Le but est de faire accéder l'utilisateur/robot au domaine jusqu'à ce qu'il effectue **à nouveau** une **requête DNS** du domaine.
5. Dans la requête DNS, une **adresse IP privée** est donnée **maintenant** (127.0.0.1 par exemple)
6. L'utilisateur/robot essaiera de **rétablir la connexion TLS** et pour ce faire, il **envoiera** l'**ID de session**/Ticket ID (où la **charge utile** de l'attaquant était contenue). Donc félicitations, vous avez réussi à demander à l'**utilisateur/robot de s'attaquer lui-même**.
Notez que pendant cette attaque, si vous voulez attaquer localhost:11211 (_memcache_), vous devez faire établir la connexion initiale avec www.attacker.com:11211 (le **port doit toujours être le même**).\
Pour **réaliser cette attaque, vous pouvez utiliser l'outil** : [https://github.com/jmdx/TLS-poison/](https://github.com/jmdx/TLS-poison/)\
Pour **plus d'informations**, regardez la conférence où cette attaque est expliquée : [https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference](https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference)
La différence entre un SSRF aveugle et un non aveugle est que dans le SSRF aveugle, vous ne pouvez pas voir la réponse de la requête SSRF. Il est donc plus difficile à exploiter car vous ne pourrez exploiter que des vulnérabilités bien connues.
**Vérifier le temps** des réponses du serveur pourrait **permettre de savoir si une ressource existe ou non** (peut-être qu'il faut plus de temps pour accéder à une ressource existante que pour une qui n'existe pas)
Si vous trouvez une vulnérabilité SSRF dans une machine fonctionnant dans un environnement cloud, vous pourriez être capable d'obtenir des informations intéressantes sur l'environnement cloud et même des identifiants :
_remote-method-guesser_ est un scanner de vulnérabilités _Java RMI_ qui prend en charge les opérations d'attaque pour la plupart des vulnérabilités _Java RMI_ courantes. La plupart des opérations disponibles supportent l'option `--ssrf`, pour générer une charge utile _SSRF_ pour l'opération demandée. Avec l'option `--gopher`, des charges utiles _gopher_ prêtes à l'emploi peuvent être générées directement.
SSRF Proxy est un serveur proxy HTTP multi-thread conçu pour acheminer le trafic HTTP client à travers des serveurs HTTP vulnérables à la falsification de requête côté serveur (SSRF).
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou souhaitez-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 d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **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** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).