¿Cómo calcula Burp Sequencer exactamente los valores que obtiene?

6

Estoy probando una aplicación web basada en SAP para un cliente. Una de las comprobaciones que normalmente hacemos es analizar la cookie que contiene el token de sesión para asegurarnos de que sea lo suficientemente aleatoria y que no pueda predecir el próximo token válido. Hacemos esto usando el secuenciador Burp. En esta ocasión, me di cuenta de que la cookie parecía tener una gran cantidad de datos estáticos al principio. Base64 lo descodificó y descubrí que los primeros 130 caracteres (en texto) contienen el nombre de usuario, el código de cliente y la fecha / hora. Creo que esta es una 'característica' conocida de SAP.
Lo que estoy luchando para poder explicar en mi informe es cómo los resultados del decodificador coinciden con el secuenciador. Por ejemplo, en texto claro en la cookie, los datos estáticos deben comenzar en la posición cero y terminar en el carácter 130, pero esto no corresponde a los valores vistos en el análisis de caracteres en el secuenciador, ni la cantidad de caracteres mostrados en total corresponde al recuento real de caracteres en la cookie. Puedo ver la parte estática en el secuenciador, e incluso el pico de entropía donde cambia la parte de tiempo, simplemente no puedo correlacionar las posiciones de los personajes. Además, cuando veo el análisis de bits en el secuenciador, los valores parecen invertirse, de modo que en lugar de ver el valor estático al comienzo de la secuencia, puedo verlo al final.

Espero que alguien pueda explicarme lo que estoy viendo y muchas gracias por cualquier ayuda.

    
pregunta Marion McCune 30.01.2013 - 08:23
fuente

1 respuesta

1

Hay una explicación de los tipos de pruebas estadísticas que realiza Burp Sequencer para probar la aleatoriedad. A continuación se muestra la descripción inicial de alto nivel y la página continúa describiendo las características de las pruebas individuales que se ejecutan que incluyen el análisis de caracteres y bits de los datos del token.

  

Burp Sequencer emplea pruebas estadísticas estándar para aleatoriedad. Estos se basan en el principio de probar una hipótesis con una muestra de evidencia y calcular la probabilidad de que ocurran los datos observados, asumiendo que la hipótesis es verdadera:

     
  • La hipótesis a probar es: que los tokens se generan aleatoriamente.
  •   
  • Cada prueba observa propiedades específicas de la muestra que probablemente tengan ciertas características si los tokens se generan aleatoriamente.
  •   
  • Se calcula la probabilidad de que ocurran las características observadas, asumiendo que la hipótesis es cierta.
  •   
  • Si esta probabilidad cae por debajo de cierto nivel (el "nivel de significación"), se rechaza la hipótesis y se considera que los tokens no son aleatorios.
  •   

Espero que esto ayude a algunos.

    
respondido por el dudebrobro 01.02.2013 - 15:10
fuente

Lea otras preguntas en las etiquetas