Come usare le macro di Burp per passare i parametri all'intruso

3

Il mio problema è che sto tentando di confondere un login in 2 fasi per una webapp personalizzata.

Quello che devo fare è GET per la pagina iniziale che mi fornirà un token anti-csrf e un sessionID.

Da lì POSSO un nome utente la cui risposta mi fornirà un altro token

Questo secondo token verrà utilizzato nel POST finale insieme al token anti-csrf e al sessionID per inviare la password al server. Il nome utente è collegato al secondo POST tramite il secondo token che viene tracciato ad ogni tentativo di accesso, quindi ne è richiesto uno nuovo ad ogni tentativo di accesso.

Idealmente mi piacerebbe confondere entrambi i POST in una catena usando l'intruso, ma mi accontenterò di una catena macro che consentirà il passaggio dei parametri dal GET e dal primo POST all'intruso, a quel punto il campo della password sarà sfocato e inviato al server.

Ho fatto qualche ricerca sui macro di burp e sembra che dovrebbe essere possibile, anche se non ortodosso per il loro uso normale. Il problema che sto avendo riguarda l'estrazione e il passaggio dei parametri all'intruso.

Qualsiasi aiuto sarebbe molto apprezzato, grazie.

    
posta Desblock 27.09.2017 - 07:36
fonte

1 risposta

1

Questo può normalmente essere fatto da macro e regole di gestione delle sessioni. Come ho capito, hai tre richieste:

  1. Recupera token CSRF
  2. Inserisci nome utente
  3. Posta la password

Il primo passo è riprodurli nel tuo browser, con Burp configurato come proxy.

Quindi creare una macro con le richieste 1 e 2. Nell'Editor macro, selezionare la richiesta 2 e fare clic su Configura elemento. Se il token CSRF è un campo nascosto, dovrebbe averlo rilevato automaticamente, e nella gestione dei parametri vedrai qualcosa come "csrf_token - derivare dalla risposta precedente". In caso contrario, potrebbe essere necessario configurarlo manualmente. Potrebbe essere necessario configurare Configura elemento su richiesta 1 e definire un percorso dei parametri personalizzato. È quindi possibile utilizzare Test macro per confermare che funzioni.

Successivamente, crea una regola di gestione sessione. Impostare l'ambito per coprire l'URL e il percorso per la richiesta 3. Aggiungere un'azione Esegui una macro, selezionare la macro e lasciare attivata questa opzione: "Aggiorna la richiesta corrente con parametri corrispondenti alla risposta macro finale".

Quindi invia la richiesta 3 al ripetitore. Quando fai clic su Vai, la macro verrà eseguita e dovresti vedere la tua richiesta essere aggiornata con nuovi valori di token. Altrimenti, usa il rilevatore di sessioni per capire cosa non va.

Una volta che funziona in Repeater puoi usare altri strumenti come Intruder, Scanner, ecc.

La tua idea di confondere entrambe le richieste in una catena è interessante. Non riesco a pensare a un modo semplice per farlo, ma sarebbe un'estensione interessante da scrivere.

    
risposta data 27.09.2017 - 11:20
fonte

Leggi altre domande sui tag