In che modo esattamente Burp Sequencer calcola i valori che deriva?

6

Sto testando un'applicazione Web basata su SAP per un cliente. Uno dei controlli che facciamo normalmente è quello di analizzare il cookie che contiene il token di sessione per assicurarsi che sia sufficientemente casuale e non è possibile predire il prossimo token valido. Lo facciamo usando il sequencer di Burp. In questa occasione ho notato che il cookie sembrava avere una grande quantità di dati statici all'inizio. I Base64 l'ha decodificato e ha scoperto che i primi 130 caratteri (nel testo) contengono il nome utente, il codice cliente e la data / ora. Credo che questa sia una "caratteristica" conosciuta di SAP.
Quello che sto cercando di essere in grado di spiegare nel mio rapporto è come i risultati del decoder corrispondono al sequencer. Per esempio - nel testo chiaro nel cookie i dati statici dovrebbero iniziare dalla posizione zero e terminare con il carattere 130 - ma questo non corrisponde ai valori visualizzati nell'analisi del carattere nel sequencer - né il numero di caratteri mostrato in totale corrisponde al conteggio effettivo dei caratteri nel cookie. Riesco a vedere la porzione statica nel sequencer, e anche il picco di entropia dove cambia la porzione temporale, non posso proprio correlare le posizioni dei caratteri. Inoltre, quando guardo l'analisi dei bit nel sequencer, i valori sembrano essere invertiti, in modo che invece di vedere il valore statico all'inizio della sequenza - posso vederlo alla fine.

Spero che qualcuno possa spiegarmi cosa sto vedendo e molte grazie per qualsiasi aiuto.

    
posta Marion McCune 30.01.2013 - 08:23
fonte

1 risposta

1

C'è una spiegazione dei tipi di test statistici che Burp Sequencer esegue per testare la casualità. Di seguito è riportata la descrizione iniziale di alto livello e la pagina continua a descrivere le caratteristiche dei singoli test eseguiti che includono l'analisi dei caratteri e dei bit dei dati del token.

Burp Sequencer employs standard statistical tests for randomness. These are based on the principle of testing a hypothesis against a sample of evidence, and calculating the probability of the observed data occurring, assuming that the hypothesis is true:

  • The hypothesis to be tested is: that the tokens are randomly generated.
  • Each test observes specific properties of the sample that are likely to have certain characteristics if the tokens are randomly generated.
  • The probability of the observed characteristics occurring is calculated, working on the assumption that the hypothesis is true.
  • If this probability falls below a certain level (the "significance level") then the hypothesis is rejected and the tokens are deemed to be non-random.

Spero che questo aiuti alcuni.

    
risposta data 01.02.2013 - 15:10
fonte

Leggi altre domande sui tag