¿ModSecurity predeterminado protege lo suficiente contra XSS?

7

Han pasado algunos años desde que me deshice de modsecurity ...

¿La simple instalación del paquete con las reglas predeterminadas proporcionará suficiente validación para evitar cualquier tipo de XSS (bueno, seamos honestos, lo mejor que podemos esperar de XSS)? Mi suposición es no ... e incluso si consideramos solo el Tipo I - XSS reflejado.

¿Qué pasa con el Conjunto de reglas principales ? ¿Es eso suficiente para pruebas XSS?
De no ser así, ¿qué tipo de reglas faltan y qué debo buscar para agregar / personalizar, quizás por página? (uggh ...)

Última parte de la pregunta, ¿qué pasa con las aplicaciones pesadas de AJAX? ¿Cómo gestiona ModSecurity, y en particular el CRS, las solicitudes AJAX sin bloquearlas? Supongo que esperar que realmente logre analizar el AJAX y validar cada parámetro por separado sería también mucho para esperar ...

Para aclarar, corregir el código para eliminar todos los XSS, incluida la validación de entrada y especialmente la codificación de salida contextual, es por supuesto la mejor manera de hacerlo, y realmente la única solución a largo plazo.
Sin embargo, estaba buscando una "solución rápida" temporal, para colocar algo en su lugar para proteger la aplicación por ahora , mientras ellos arreglan el XSS en el código y buscan más ... .

    
pregunta AviD 10.04.2011 - 12:50
fuente

4 respuestas

8

Debes revisar XSS Street-Fight (con ModSecurity) Blackhat preso

Esboza las siguientes estrategias de mitigación de ModSecurity para XSS:

  1. Validación de entrada (filtro de lista blanca / lista negra)
  2. Detección de carga útil de ataque genérico
  3. Identificación de fallas en el manejo incorrecto de la salida (propagación dinámica del sabor)
  4. Perfil de respuesta de la aplicación (supervisión del número de scripts / iFrames)
  5. Inyección de Sandbox en JavaScript (Capacidades de inyección de contenido de ModSecurity)
respondido por el Ryan Barnett 10.04.2011 - 18:14
fuente
7

Iba a sugerirte que revisaras el trabajo de Ryan Barnett, ¡pero él ya respondió!

La validación de datos no es suficiente para evitar XSS, incluso si se trata de una lista blanca pura.

La identificación de manejo de salida incorrecto debe ocurrir en todas las salidas. Es posible que puedan solucionarse contextualmente con ModSecurity, pero ciertamente este es el lugar equivocado en la arquitectura para hacerlo, ya que si algo cambia con respecto a ese contenido, la codificación / escape de repente se volvería inútil. El contenido web tiene una forma de cambiar mucho.

La respuesta correcta es monitorear los problemas de escape de salida con ModSecurity, y en realidad remediar los problemas de XSS en otros lugares.

Uno de los mejores enfoques que he escuchado últimamente es Detener la creación de HTML en el servidor . En particular, esto mataría a dos pájaros de un tiro: podría resolver los problemas con AJAX (por ejemplo, XSS basado en DOM), así como los problemas de XSS almacenados y reflejados.

Sin embargo, le recomiendo que consulte las bibliotecas de codificación en OWASP ESAPI y OWASP ESAPI JS . El mejor consejo de remediación proviene de la codificación de salida contextual. Remediar XSS es mucho trabajo, pero vale la pena pensar que estos problemas son más duraderos y con un gran impacto si no los solucionamos ahora.

    
respondido por el atdre 10.04.2011 - 22:19
fuente
0

Mod Security es un trabajo absolutamente fantástico para todos los involucrados. Sin embargo, no esperes simplemente "configurar y olvidar". Nos tomó mucho trabajo ajustar la instalación para eliminar falsos positivos del conjunto de reglas básicas.

    
respondido por el getahobby 11.04.2011 - 01:38
fuente
0

Probablemente no, pero deberías probarlo por ti mismo. Sitewatch , Acunetix , y W3AF son todos gratuitos y probarán su aplicación para XSS. Más allá de eso, un atacante puede construir una carga útil para XSS específicamente para evitar mod_secuirty. Para la instalación hay módulos Mod_Security bypass para W3AF. Por lo tanto, utilizar un WAF como este no es un enfoque de Defensa en profundidad .

    
respondido por el rook 11.04.2011 - 02:10
fuente

Lea otras preguntas en las etiquetas