Ricordo di aver letto qualcosa qualche tempo fa sugli attacchi XSS di successo quando veniva usata la tecnica di codifica sbagliata per il contesto. In particolare, lo ricordo quando codifica HTML in contesto Javascript, per il valore di un attributo di un tag che rappresenta un hook Javascript, come onload. Ad esempio,
<body onload='doSomething ("userdata")'>
dove il codice HTML del server codifica i dati utente prima di scrivere l'HTML sul socket al browser.
Come ricordo, il browser analizzerebbe prima la pagina per HTML, decodificando il valore dell'attributo, annullando la codifica HTML dei dati utente. Il browser dovrebbe essere analizzato per JavaScript. Se i dati utente sono stati creati come un payload XSS, come
x")&&alert ("xss
ora verrebbe eseguito. Per la vita di me, non riesco più a trovare i riferimenti pertinenti che dimostrano questo comportamento, né posso ricordare se l'ordine di analisi ha altre sottigliezze - come se gli stili di codifica HTML o gli URL risulteranno in vulnerabilità XSS. O se ci sono problemi di ordine di analisi con la codifica tra URL, CSS e JS.
Quali riferimenti dimostrano che la codifica con i meccanismi nel contesto sbagliato provocherà continue vulnerabilità XSS e che si tradurrà solo in problemi di usabilità?