¿Una forma eficiente de encontrar vulnerabilidades XSS?

5

Manera manual (confiable) : coloque una cadena con caracteres que tienen un significado especial en HTML en algún parámetro de la solicitud HTTP, busque esta cadena en la respuesta HTTP (y posiblemente) en otros lugares donde se representa . Sin embargo, esta forma es muy larga, ya que todas las acciones, como poner entradas en parámetros y encontrar esas cadenas en las respuestas HTTP, se realizan manualmente.

Manera automatizada (rápida) : ejecute el escáner de seguridad como Arachni. Pero parece (después de ver el código) que encontrará vulnerabilidades solo en los contextos habituales y no tratarán especialmente los valores CSS, código JS, etc.

Entonces, ¿cuál es una manera más eficiente (rápida y confiable) de encontrar vulnerabilidades XSS? Estoy interesado en cambiar el modo manual a semiautomático para acelerar el proceso

    
pregunta Andrei Botalov 20.09.2012 - 11:04
fuente

4 respuestas

5

En términos de encontrar una gama más amplia de problemas de XSS que, por lo que he visto, realmente depende del escáner (excelente punto de partida para eso here ) y ninguno de ellos será perfecto (es decir, siempre habrá casos en el escaneo de caja negra donde un probador manual encontrará un problema que los escáneres fallarán). Algunos tienen una gama más amplia de vectores y técnicas que otros.

Si desea ampliar la cobertura de las herramientas automatizadas, puede agregar herramientas de caja blanca / gris, ya que pueden encontrar problemas que son más difíciles de localizar con un enfoque de caja negra. Como ejemplo, Brakeman para las aplicaciones Ruby on Rails tiene detección para problemas de XSS.

También otras herramientas especializadas como @Tate Hansen menciona por encima de Dominator para problemas de DOMXSS.

Esencialmente como con la mayoría de las cosas en seguridad, no hay una bala de plata. Puede mejorar la cobertura automatizada combinando múltiples herramientas y enfoques, aunque habrá algunas áreas que se descubrirán mejor de forma manual.

    
respondido por el Rоry McCune 21.09.2012 - 09:54
fuente
6

DOMinator Pro es una excelente herramienta semiautomatizada para identificar DOM XSS.

  

¿Qué es DOMinator?
  DOMinator es un software basado en Firefox para el análisis e identificación de problemas de secuencias de comandos entre sitios basados en DOM (DomXss). Es la primera herramienta de tiempo de ejecución que puede ayudar a los probadores de seguridad a identificar DomXss.

     

¿Cómo funciona?
  Utiliza el modelo dinámico de tiempo de ejecución en cadenas y puede rastrear las operaciones de propagación de corrupción para comprender si una vulnerabilidad de DomXss es realmente explotable.

    
respondido por el Tate Hansen 20.09.2012 - 16:16
fuente
2

Si está probando su propia aplicación o está probando una aplicación para la que tiene el código fuente, la mejor manera de hacerlo es mediante una combinación de Manual + automatizado. Trate de usar una herramienta de análisis estático en el código fuente. Debería encontrar algunas vulnerabilidades de XSS (si las hay). Pero tenga en cuenta que puede haber varios falsos positivos, dependiendo de la herramienta que utilice.

A continuación, pruebas manuales: probablemente la más eficiente (si sabes lo que estás haciendo). XSS no se trata simplemente de <script>alert('hi')</script> de inyección en un cuadro de texto para ver si se refleja (o se almacena). Hay un gazillion de vectores que necesita comprobar. Use una hoja de trucos de XSS ¿Hoja de trucos nueva de XSS? para este propósito. Habrá muchos intentos fallidos, pero inyectar algo, revisar la página HTML de retorno y repetir este proceso después de cambiar el vector, dará resultados.

    
respondido por el sudhacker 21.09.2012 - 04:00
fuente
1

Tema interesante.

XSS representa un desafío interesante. Las pruebas con herramientas automatizadas pueden ser impredecibles. La razón es que hay muchos ataques potenciales, por lo que las herramientas seleccionarán algunos de ellos para evitar exploraciones interminables.

Hemos encontrado que perfilar el parámetro antes de realizar ataques de forma selectiva puede aumentar dramáticamente la precisión.

La otra cosa divertida a tener en cuenta es que muchos navegadores modernos bloquean muchos de estos ataques, lo que conduce a fascinantes argumentos con los desarrolladores sobre el porcentaje de navegadores en los que se puede explotar un ataque antes de solucionarlo.

    
respondido por el Matthew Cohen 05.10.2012 - 05:00
fuente

Lea otras preguntas en las etiquetas