¿Qué deben hacer los propietarios de las aplicaciones mientras resuelven XSS para minimizar el riesgo?

1

He enviado un informe de pentest en el que informé XSS en algunas ubicaciones de una aplicación. La dirección aceptó el riesgo. Han planeado remediar el problema en los próximos treinta días. Sin embargo, preguntaron qué se debe hacer de su lado en esos treinta días para minimizar el riesgo mientras resuelven el problema. Tenga en cuenta que la aplicación es un activo altamente sensible disponible solo en la red de la oficina.

    
pregunta one 03.10.2016 - 19:36
fuente

2 respuestas

1

Esto es principalmente una decisión de negocios. Hay dos extremos:

  • Acepte el riesgo : siga adelante y espere que ningún pirata informático lo aproveche.
  • Desactivar la aplicación : no hay posibilidad de que sea pirateada si está desactivada.

En la práctica, el riesgo de XSS en una red interna es bastante bajo. Si los atacantes externos están en la red, probablemente puedan hacer cosas peores. Los iniciados malintencionados tienden a abusar del acceso legítimo en lugar de participar en piratas informáticos. Por otro lado, apagar la aplicación probablemente tendría un gran impacto en el negocio. Así que la mayoría de las empresas aceptarían este riesgo.

Existen medidas técnicas que pueden mitigar el riesgo. Por ejemplo:

  • Instale un WAF , aunque la instalación y el ajuste probablemente tomarán más de 30 días.
  • Cambiar el comportamiento del usuario : los usuarios deben cerrar todas las demás ventanas (y pestañas) del navegador mientras usan la aplicación interna y cerrar la sesión cuando finalicen. Esto hace que XSS en la aplicación interna no sea explotable, aunque es un dolor para los usuarios.

En última instancia, sin embargo, su negocio acordar solucionar los problemas dentro de los 30 días es una buena respuesta. Muchas empresas se toman las fallas de seguridad en las aplicaciones internas mucho menos en serio.

    
respondido por el paj28 03.10.2016 - 20:48
fuente
0

Pídales a sus expertos en seguridad o desarrolladores de servicios de fondo que creen un complemento como HTMLCutter Plugin, para que solo filtre y desinfecte todas las entradas que proporciona el usuario antes de procesarlas. Los pasos alternativos que se pueden tomar son

1) Necesita una biblioteca de codificación de seguridad = > enlace : la biblioteca de codificación de Microsoft

2) Escape HTML antes de insertar datos no confiables en el contenido del elemento HTML

Busque Implementación de referencia ESAPI en code.google.com

Comando Cadena segura = ESAPI.encoder (). EncodeForHTML (request.getParameter ("input"));

3) Escape de atributos antes de insertar datos no confiables en atributos comunes de HTML

Cadena segura = ESAPI.encoder (). encodeForHTMLAttribute (request.getParameter ("input"));

4) Escape de JavaScript antes de insertar datos no confiables en los valores de datos de JavaScript

Cadena segura = ESAPI.encoder (). encodeForJavaScript (request.getParameter ("input"));

5) Escape de CSS y valide estrictamente antes de insertar datos no confiables en valores de propiedad de estilo HTML

Cadena segura = ESAPI.encoder (). encodeForCSS (request.getParameter ("input"));

6) Escape de URL antes de insertar datos no confiables en valores de parámetros de URL de HTML

Cadena segura = ESAPI.encoder (). encodeForURL (request.getParameter ("input"));

7) Desinfecte el marcado HTML con una biblioteca diseñada para el trabajo

Puede encontrar el código en github para HTMLSanitizer, Ruby on Rails Sanitizer, etc.

8) Prevenir XSS basado en DOM

Consejos adicionales:

I) Usar el indicador de cookie HTTPOnly

II) Implementar la política de seguridad de contenido

III) Usar un sistema de plantillas de escape automático

IV) Utilice el encabezado de respuesta de protección X-XSS

Espero que esto ayude a resolver el problema.

    
respondido por el Rewanth Cool 03.10.2016 - 20:05
fuente

Lea otras preguntas en las etiquetas