Quiero salvar mi aplicación de un ataque, así que quería deshabilitar cualquier tipo de ejecución en mi configuración de CKEditor, así que encontré una solución que es allowContent: false
que evita las etiquetas <scripts>
dentro de CKEditor pero después de poner <p><a href="javascript:(alert(document.domain))">XSS</a></p>
en CKEditor para que ejecute js dentro de href
.
configuración
config = { ..., allowContent: false }
ahora el siguiente script no funciona después de poner la configuración anterior:
<script>alert(1)</script>
También quería evitar debajo de js dentro de href
pero actualmente, se está ejecutando
<p><a href="javascript:(alert(document.domain))">XSS</a></p>
Tienes que desinfectar los datos ingresados al CKEditor. La opción config.htmlEmbed.sanitizeHtml
de CKEditor permite conectar un desinfectante externo.
En mi opinión, el mejor desinfectante disponible por ahora es la biblioteca DOMPurify .
Aquí hay más información sobre cómo incluir DOMPurify en CKEditor: más información .
En mi opinión, es muy difícil asegurar CKEditor "por ti mismo", así que mejor usa desinfectante. Hubo algunos problemas de seguridad en este software, un ejemplo interesante se describe aquí: CKEditor XSS