He estado leyendo acerca de la prevención XSS en OWASP y otros canales de seguridad. Todos dicen que debo usar ESAPI o una biblioteca similar y hacer el filtrado de entrada a través de un enfoque de lista blanca.
Sin embargo, uso un marco (Webobjects) que se codifica de forma predeterminada, por lo que el uso de ESAPI cambia mi entrada y por lo tanto no es una opción para mí.
La segunda opción es utilizar un enfoque de lista blanca. Admito muchos idiomas, como japonés, ruso, coreano, etc. ¿Cómo decido qué caracteres incluir en la lista blanca?
Además, ¿por qué es mejor el enfoque de lista blanca que un enfoque de lista negra como lo menciona OWASP? ¿Por qué no bloquear solo un puñado de caracteres utilizados en XSS como <
, >
, etc.?