Recientemente publiqué esta pregunta en Revisión de código y se recomendó que les pregunte a ustedes sobre esto.
Básicamente, esto se usará para permitir que los usuarios generen contenido con formato. Se coloca dentro de las etiquetas HTML, por lo que no tengo que preocuparme por que un atacante rompa un atributo. Si eso no está claro, aquí hay un ejemplo:
<div>
Generated content
</div>
Editar: No estoy insertando el contenido en un atributo, por lo que no es una preocupación el hecho de que salgan las comillas. Sé que todavía tengo que buscar atributos erróneos dentro del contenido generado por el usuario, que es para lo que sirve una gran parte del script.
He establecido que soy vulnerable a que un atacante publique un enlace malicioso o publique una imagen de seguimiento, pero eso es algo que estoy dispuesto a aceptar. No creo que puedas evitar eso sin las URL de la lista blanca, lo que también reduciría drásticamente la libertad que tienen los usuarios. Si hay una forma viable de corregir esta vulnerabilidad, me encantaría conocerla.
He leído la hoja de trucos OWASP XSS , y creo que tengo todos esas bases cubiertas.
¿De qué tengo que preocuparme fuera de esa hoja de trucos? ¿Me perdí algo en él? ¿Es mi código a prueba de futuro? ¿Estoy en camino sobre mi cabeza? ¿Debo cambiar a BBCode o Markup?