2013-02-28 15 views
5

Sto testando un'applicazione web. Voglio scrivere uno script XSS che visualizzerà un avviso "Hello".Cross Site Scripting injection

Il primo script che ho scritto era:

<script >alert("Hello");</script > 

Ma non visualizzava l'avviso "Hello". Ho scoperto che lo script XSS che funziona è

<SCRIPT >alert(String.fromCharCode(72,101,108,108,111,33))</SCRIPT > 

Vorrei sapere perché il primo script non ha funzionato.

+0

Se vuoi saperne di più sulla confusione XSS, posso suggerirti [Filtro XSS Evasion Cheat Sheet] (https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet). – Eich

+0

Non sono sicuro del motivo per cui non hai ancora accettato la risposta. Sembra abbastanza solido. – SoonDead

risposta

7

Molto probabilmente quel sito sostituisce le virgolette doppie con le entità HTML o tenta di sfuggirle in un altro modo che li rende inadatti per JavaScript. Quando si utilizza String.fromCharCode(...) non è necessario utilizzare le virgolette in modo che funzioni. Ottiene un elenco dei codici ASCII dei caratteri della stringa e ne crea una stringa durante il runtime. Quindi non c'è bisogno di alcuna citazione.

Il modo corretto per evitare questo tipo di XSS è quello di sostituire < con &lt; - in questo modo non è possibile creare un tag di script.

Si noti che >, " e & devono anche essere sostituiti con le rispettive entità HTML durante la sanificazione dei dati contenenti HTML! Tuttavia, solo lo < è assolutamente necessario per sconfiggere gli attacchi XSS, supponendo che non sia possibile utilizzare dati non attendibili negli attributi HTML (è dove " deve essere disinfettato)

+0

Sì @ThiefMaster, il sito cambia "Ciao" nel primo script in \ "Ciao \". Mi piacerebbe sapere perché il sito fa questo. Inoltre, vorrei sapere come "String.fromCharCode (72,101,108,108,111,33)" funziona per visualizzare Hello! – IBK

+0

'String.fromCharCode' è un normale metodo JavaScript (spiegato [qui] (http://www.w3schools.com/jsref/jsref_fromcharcode.asp)). Puoi utilizzare qualsiasi codice JavaScript all'interno dell'ambiente '

Problemi correlati