Redirectors, cosa sono e come funzionano
Continuiamo con la serie XSS. Oggi si parla di Redirectors..ovvero, il modo più semplice e comune per reindirizzare un utente da un sito ad un altro e intraprendere azioni xss o phishing. Molti siti, per esempio webmails, utilizzano sistemi di redirect. Ne esistono di diversi tipi, alcuni auto definiti "intelligenti", altri non fanno altro che aggiungere un table ("stai visitando un sito esterno a..") al DOM della pagina che si vuole visitare.
Esistono tre tipi di redirection
- Header Redirection : Può utilizzare un notevole numero di codici di risposta, ma fondamentalmente utilizza il protocollo HTTP per spostare la navigazione al sito scelto.
- Meta redirection : Usa un tag HTML per inviare l'utente al sito selezionato. Lavora nello stesso modo della Header Redirection, ad eccezione del fatto che, è possibile scegliere un intervallo di tempo prima del redirect.
- Dynamic Redirection : Questo tipo di redirect può essere incluso in video Flash, all'interno client o server side. Rispetto a tutti gli altri tipi di redirect ha la possibilità di essere gestito attraverso l'uso di eventi.
1: <!-- Attende cinque secondi, poi reindirizza l'utente a cyphersec.com -->
2: <META HTTPEQUIV="Refresh" CONTENT="5; URL=http://www.cyphersec.com">).
I codici di risposta che si possono ottenere successivamente ad un redirect sono
| 301 Moved Permanently | Un redirect di tipo permanente. Avviene quando una pagina è stata spostata da un sito ad un altra. |
| 302 Found 307 Temporary Redirect |
Redirect Temporaneo, viene utilizzata quando il redirect non è attivo per un piccolo periodo di tempo e/o il redirect coinvolge 2 o più pagine. |
| 303 See Other | Questo metodo permettere al OUTPUT di uno script POST al di reindirizzare lo user-agent ad una risorse specifica. |
Abbiamo parlato di teoria, passiamo alla pratica. Sfruttare questi "redirectors" (questo il termine usato) è relativamente semplice. Molte, se non quasi tutte, le applicazioni che fanno uso di sistemi di redirect vengono compromesse ed utilizzati al fine di lanciare attacchi phishing.
Domanda : Cosa è un redirector?
Risposta : Un redirector è una applicazione web "apparantemente con buona reputazione" che viene utilizzata per reindirizzare l'utente ad un sito "maligno".
Domanda : Come è possibile questo?
Risposta : Dipende dall'applicazione stessa. Di solito si cade su Javascript e codice di bassa qualità.
Anche applicazioni di "grande importanza" possono essere degli ottimi replicatori. Per esempio.. Google.
1: <!--
2: CypherSec.com
3: Utilizza Google come Redirector
4: invia l'utente ad un sito vulnerabile ad XSS (si sempre lo stesso sito)
5: -->
6:
7: http://www.google.com/pagead/iclk?sa=l&ai=Br3ycNQz5QfXBJGSiQLU0eDSAueHkArnhtWZAu-FmQWgjlkQAxgFKAg4AEDKEUiFOVD-4r2f-P____8BoAGyqor_A8gBAZUCCapCCqkCxU7NLQH0sz4&num=5&adurl=http://webmail.inet.it:80/?lang=<script%20%0a%0d>alert('XSS')%3B</script>
ma volendo si può usare una versione più piccola di questa funzionalità ed andare ad usare
1: <!--
2: CypherSec.com
3: Google Redirector
4: Versione ridotta
5: -->
6: http://www.google.com/url?q=http://webmail.inet.it:80/?lang=<script%20%0a%0d>alert('XSS')%3B</script>
1: <!--
2: Questo continua a restare il mio preferito.
3: Vulnerabilità segnalata più e più volte. Mai risolta
4: -->
5:
6: http://www.romanoprodi.it/cgi-bin/adon.cgi?referer=http://www.cyphersec.com&email=nonsonoio@forselui.com&azione=send_password
Il vantaggio che si ottiene dall'utilizzare sistemi redirector possono essere molteplici.
Due esempi veloci:
Phishing o attacco XSS : l'utente conosce, e si fida, il dominio che appare nel link ed effettua il click senza pensarci due volte.
Far scendere la reputazione di un sito rispetto ad altri. Molte persone, specialmente non del settore, attribuiranno l'infezione e/o il risultato di attacco come questo all'azienda che possiede il redirector.
Edit: [link] direttamente da gnucitizen.org pdp comunica una vulnerabilità sul protocollo jar la quale si basa su gli open redirectors di google