hojas de estilo personales

9

En referencia a esta pregunta , estaba investigando si habría o no seguridad riesgos al permitir a los usuarios agregar sus propias hojas de estilo.

Muestra un escenario en el que un desarrollador puede usar posiciones para reemplazar el campo de búsqueda y contraseña. Sin embargo, si la CSS personalizada solo la vio el usuario que agregó los estilos, ¿existen otros riesgos?

¿Incluso con el expression() ? Porque no sé por qué alguien intentaría XSS ellos mismos.

    
pregunta Meghan 15.12.2015 - 06:23
fuente

2 respuestas

4

Intente no ver la seguridad desde el punto de vista del desarrollador, pero en su lugar, siga un conjunto de mejores prácticas. Por ejemplo, aceptará la entrada de un usuario, en forma de carga de archivo o entrada de texto, sin embargo, desinfecte el contenido, mire las respuestas a esta pregunta para obtener consejos sobre cómo sanear el usuario definido css.

No supondría que el css solo provenga del usuario que lo verá, este es probablemente el requisito actual, pero no me sorprendería si en el futuro, una serie de cambios permitiría que esta restricción sea omitido.

También, dependiendo de la implementación (por ejemplo, si sirve una url a un archivo css), alguien podría tener la tentación de intentar cambiar todas las urls por una maliciosa ( enlace - > enlace ), piense en XSS , inyección, etc ...

En resumen, mi consejo es implementar todas las medidas de seguridad disponibles dadas las restricciones de su proyecto.

    
respondido por el Purefan 15.12.2015 - 07:26
fuente
2

Tenga en cuenta que la persona que ha iniciado sesión en el sitio puede no ser la persona que posee la cuenta. Si alguien obtiene el control de la cuenta de un usuario, puede cambiar la hoja de estilo para atacar al usuario la próxima vez que inicie sesión. O, si esta persona encuentra la manera de cambiar la hoja de estilo de otro usuario a través de un exploit, puede atacar a todos los usuarios de su sitio a la vez!

Sería correcto suponer que estas vulnerabilidades son peligrosas por sí mismas. Sin embargo, las vulnerabilidades en grandes proyectos tienden a convertirse en una bola de nieve, y no deberías facilitar que alguien ataque a otros desde un punto de apoyo pequeño. ¡Haz que trabajen para ello! Cierra todos los agujeros de seguridad que encuentres, por pequeños que sean.

    
respondido por el Ohnana 15.12.2015 - 18:13
fuente

Lea otras preguntas en las etiquetas