Tecnica XSS - & JavaScript Include

11

Stavo esaminando il Owasp XSS Filter Evasion Cheat Sheet , e c'era una tecnica che era completamente nuova per me:

& JavaScript includes
<BR SIZE="&{alert('XSS')}">

Ho provato il seguente codice HTML:

<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <br size="&{alert('1')}">
    </body>
</html>

su Firefox 31.0 e non sembra funzionare (cioè nessuna casella di avviso). Mi sono perso qualcosa o questa tecnica è applicabile solo ai browser più vecchi?

    
posta Edwin Lee 08.08.2014 - 08:29
fonte

1 risposta

17

JavaScript, la Guida definitiva, 4a edizione - pubblicato nel 2001 - menzioni questi un po 'più in dettaglio. La sezione pertinente sembra essere disponibile gratuitamente . È proprio in fondo a quel link. Ecco l'estratto:

12.2.5. JavaScript in Nonstandard Contexts

Both Netscape and Microsoft have implemented proprietary extensions in their browsers, and you may occasionally see JavaScript code in a context other than those described here. For example, Internet Explorer allows you to define event handlers in a <script> tag that uses special for and event attributes. Netscape 4 allows you to use JavaScript as an alternative syntax for defining CSS style sheets within a <style> tag. Netscape 4 also extends the HTML entity syntax and allows JavaScript to appear within entities (but only within the values of HTML attributes). This can result in HTML that looks like this:

<table border="&{getBorderWidth( )};"> 

Finally, Netscape 4 also supports a form of conditional comment based on this JavaScript entity syntax. Note that Netscape 6 and the Mozilla browser on which it is based no longer support these nonstandard uses of JavaScript.

Quindi è un abuso della tipica sintassi dell'entità HTML - il tipo in cui usiamo &amp; per produrre una e commerciale. Invece di scrivere amp , scrivo {alert('oh no')} .

Tuttavia, il libro menziona che Netscape 6 - pubblicato nel 2000, attorno al tempo di IE6 - e il primissimo browser Mozilla stava già prendendo provvedimenti per eliminare questo exploit. È abbastanza improbabile che esista nelle versioni recenti del browser.

Se mai ha influito su Internet Explorer (che non è menzionato come permesso anche in primo luogo), non ho informazioni su a quale versione è cessato di essere un exploit IE praticabile.

    
risposta data 08.08.2014 - 08:46
fonte

Leggi altre domande sui tag