En una discusión reciente sobre un escáner de vulnerabilidades de seguridad que devuelve falsos positivos para la detección XSS, noté que el escáner simplemente inyecta una cadena como "this_is_my_string_" (sin las comillas dobles) y si ve la cadena en la respuesta HTML, dice que existe un XSS.
Hablando con el autor del escáner, le pregunté cómo es posible decir que existe un XSS que solo inserta ese tipo de cadena sin < > '' o cualquier char especial (solo _). Dice que, como el escáner no incluye un intérprete JS, la detección siempre será poco confiable y se necesitará confirmación manual.
¿Es absolutamente necesario usar un intérprete de JS para detectar automáticamente las vulnerabilidades de XSS?
¿Será muy poco fiable insertar el localizador XSS 2 llamado de OWASP:
'';!--"<XSS>=&{()}
y busca caracteres especiales que no estén codificados en la respuesta? ¿Por qué?