2012-02-03 12 views
10

Voglio eseguire l'escape per XSS in un contesto html e finora considero i caratteri ,> e " Apparentemente si consiglia di evitare anche la e commerciale, ma perché? (Oltre a mantenere valido l'html , supponiamo che questo non è un problema)Cross Site Scripting (XSS): Devo uscire dalla e commerciale?

Quindi quello che chiedo è: quando scappo <,> e", qualcuno può dimostrare come la e commerciale può ancora consentire un attacco XSS in un contesto HTML?

Cheers!

risposta

6

Si dovrebbe davvero dare un'occhiata alla scheda Cheat di Prevenzione XSS di OWASP.

Si dovrebbe scappare & perché può essere usato per aggirare altre difese. Considerate questo codice:.

<button onclick="confirm('Do you really want to delete <%= data_from_user; %> ?'">Delete</button> 

Per difendersi contro XSS all'interno del gestore di eventi onclick, lo sviluppatore sfugge',", < e> in data_from_user e pensa che tutto è ok Il problema è che se i tipi di attaccante &#39; che passa la fuga, ma finisce permettendo al malintenzionato di eseguire javascript

Esempio qui:.. http://erlend.oftedal.no/blog/?blogid=124

+0

esempio interessante, applausi Quello che ho cercato.! doveva iniettare questo nel codice HTML: < script type = "text/javascript" > Il che non ottenere eseguito, howerver visualizzati come "

1

si utilizza & concatenare params nella URL:

Reflected XXS:
codice script viene iniettato nella URL, che la pagina web riflette alle vittime

http://mybank.com/page?message= < script src = “ evil _script.js "/>

+2

Down-elettore dovrebbe spiegare la sua visione sono d'accordo con questa risposta +1 – tusar

Problemi correlati