Questa è una specie di domanda bar-scommessa. Un mio conoscente ha affermato che, dato un arbitrario glob di HTML, può essere completamente impedito di eseguire JavaScript se, prima di schiacciarlo in una pagina Web, si sostituiscono tutte le istanze di <
con <
- e non apportare altre modifiche.
Non sono convinto che la mia conoscenza sia corretta, ma non posso nemmeno pensare a un controesempio. Qualcuno può provare o confutare?
Chiarimento: supponiamo che l'escape avvenga sul lato server e che il glob sia inserito come il contenuto di un elemento normale, ad es.
<p>{{ GLOB GOES HERE }}</p>
Inoltre, supponiamo che un client che implementa l'algoritmo del parser HTML5, correttamente; non siamo preoccupati per bug, parser legacy o scenari che si applicano solo in XML o SGML.
Ulteriore chiarimento: le regole OWASP sono deliberatamente prudenti. Perché questa è una scommessa da bar, vogliamo una risposta pedantica , non una risposta conservativa.