La richiesta di arricciatura non filtrata di un sito Web è vulnerabile?

13

Recentemente ero su un sito web che offriva alcune funzionalità non-sense:

  • Inserisci un URL
  • premi invio
  • L'origine HTML di un determinato URL viene visualizzata

Fondamentalmente ha recuperato un URL e ne ha semplicemente scaricato il contenuto. Potrebbe essere XML, txt, HTML, qualsiasi percorso raggiungibile tramite curl.

Ora mi ha colpito il fatto che questo dovrebbe essere abbastanza pericoloso, vero?

Non ho Linux a portata di mano e non sono riuscito a trovare questo sito ma una pagina PHP rapidamente compromessa sul mio computer Windows ha consumato felicemente l'URL:

file://D:/something/index.html

e me l'ha presentato. Questo non consentirebbe sostanzialmente a un utente malintenzionato di vagare sul computer su cui è in esecuzione lo script? Questo URL sarebbe

file:///etc/passwd

lavora su linux?

Ci sono altri problemi ovvi con questo?

Impersonare qualcun altro che accede ad altre risorse tramite schemi come POP3, LDAP, smb?

Durante la stesura di questo documento mi sono chiesto se gli schemi di quotatura bianca su HTTP [S] e forse FTP avrebbero risolto tali problemi?

Sarei ancora in grado di impersonare un visitatore su un sito tramite questa pagina, ma non sono a conoscenza di alcun problema se non di visitare contenuti illegali o di ignorare cose come la censura.

    
posta Samuel 01.08.2015 - 16:05
fonte

2 risposte

13

Se l'input non è attentamente filtrato, allora si tratta di una vulnerabilità chiamata Forgotten Request Sideery (SSRF) .

C'è persino un numero di enumerazione di debolezza comune e una pagina per questo. link

By providing URLs to unexpected hosts or ports, attackers can make it appear that the server is sending the request, possibly bypassing access controls such as firewalls that prevent the attackers from accessing the URLs directly. The server can be used as a proxy to conduct port scanning of hosts in internal networks, use other URLs such as that can access documents on the system (using file://), or use other protocols such as gopher:// or tftp://, which may provide greater control over the contents of requests.

Sfruttando questa vulnerabilità un utente malintenzionato può:

  • Scansiona gli host dalla rete interna del server che non è normalmente accessibile
  • Enumera e attacca i servizi in esecuzione su questi host
  • Sfruttare le relazioni di trust che il server vulnerabile potrebbe avere
  • Traffico HTTP proxy attraverso il server vulnerabile che maschererà l'origine del traffico
Il supporto

Unfiltered cURL è anche peggiore di una normale vulnerabilità SSRF perché cURL supporta molti schemi URL oltre a HTTP e HTTPS. Esegui #curl-config --protocols per vedere cosa è supportato.

  • Puoi accedere ai file locali con lo schema URL file:// ( curl file:///etc/passwd funziona su linux)
  • È possibile utilizzare lo schema URL dict:// per effettuare richieste a qualsiasi host su qualsiasi porta e inviare dati personalizzati. L'URL dict://host:port/command farà sì che il server si connetta a un host e invii la stringa command alla porta specificata.
  • Accedi a diversi servizi:
    • ldap://
    • ftp://
    • scp://
    • smb://
    • telnet://
    • imap://
    • pop3://
    • smtp://
    • rtsp://
    • tftp://
risposta data 01.08.2015 - 21:42
fonte
9

A seconda di come hanno implementato questa funzione, potrebbe essere piuttosto pericoloso. Oltre ai rischi che hai citato, c'è anche la possibilità che gli URL non pubblici vengano recuperati dal sistema. Ad esempio il recupero del collegamento recupera localhost.

Questo può essere un rischio in quanto cose come i pannelli di amministrazione sono comunemente distribuite su HTTP (s) in questi giorni, e sono probabilmente accessibili al server locale e non a caso altri IP.

Ora ovviamente potresti scoprire che il sito sta filtrando correttamente tutti questi attacchi come non sarebbe evidente a meno che tu non li provi (che ovviamente potrebbe essere legalmente discutibile a seconda della tua giurisdizione ..)

    
risposta data 01.08.2015 - 17:52
fonte

Leggi altre domande sui tag