Esta es una especie de pregunta de apuesta. Un conocido mío ha afirmado que, dado un globo arbitrario de HTML, se puede evitar que completamente se ejecute JavaScript si, antes de incluirlo en una página web, reemplaza todas las instancias de <
con <
- y no realice otros cambios.
No estoy convencido de que mi relación sea correcta, pero tampoco puedo pensar en un contraejemplo. ¿Alguien puede probar o refutar?
Aclaración: suponga que el escape ocurre en el lado del servidor, y el globo se inserta como el contenido de un elemento normal, por ejemplo,
<p>{{ GLOB GOES HERE }}</p>
También, asuma un cliente que implementa el algoritmo del analizador HTML5, correctamente; no nos preocupan los errores, los analizadores heredados o los escenarios que se aplican solo en XML o SGML.
Más aclaraciones: las reglas de OWASP son deliberadamente conservadoras. Debido a que esta es una apuesta de barra, queremos una respuesta pedante , no una respuesta conservadora.