XSS en CSS personalizado, proporcionado por el usuario

1

Los usuarios de nuestra aplicación web desean usar CSS personalizado para personalizar partes de la interfaz de usuario. Se me ocurrió algún tipo de lista negra para las "malas palabras" de CSS y tengo curiosidad de si es suficiente o si necesito mejorarla. Básicamente, si el CSS contiene algunos de estos ...

    "expression",
    "@import",
    "@charset",
    "javascript",
    "url(",
    "behavior",
    "data:",
    "http:",
    "https:",
    "//",
    "vbscript",
    "moz-binding",
    "\"           //just one backslash (this one is escaped)

... la aplicación lo rechaza y le pide al usuario que no use ninguno de estos. También quiero evitar que inserten objetos remotos y cosas a través de URI de datos.

¿Sería esto suficiente? ¿Es un buen enfoque o debo considerar otras opciones?

    
pregunta Ondrej Vrabel 23.11.2018 - 18:25
fuente

1 respuesta

2

Este enfoque no parece ideal, ya que es común encontrar derivaciones cuando se trata de listas negras.

Hay algunos recursos excelentes como " Ataques sin script: robar el pastel sin tocar el alféizar " y el reciente video de LiveOverflow " The Curse of Cross- Hojas de estilo de origen "si está interesado en aprender más sobre los ataques sin script que se basan en CSS. Estos enlaces pueden darle una mejor idea de qué problemas pueden surgir como resultado del CSS proporcionado por el usuario.

    
respondido por el EdOverflow 26.11.2018 - 19:33
fuente

Lea otras preguntas en las etiquetas