Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Burp Suite: usare Repeater, Proxy Intercept e Comparer

Come usare al meglio gli strumenti Repeater, Proxy Intercept e Comparer in Burp Suite.
Come usare al meglio gli strumenti Repeater, Proxy Intercept e Comparer in Burp Suite.
Link copiato negli appunti

Repeater in Burp Suite

Il repeater è uno strumento che ci verrà utile per l'exploiting manuale delle vulnerabilità. Non fa altro che prendere una richiesta esistente (comprensiva di tutti gli header) e ripeterla a seconda dei parametri che andremo a modificare.

Applicazioni di utilizzo:

Multiple (non esistono casi particolari, il repeater è utilizzato per tutti i tipi di assessment). Una volta individuata la richiesta che vogliamo modificare basterà cliccarci sopra e selezionare “Send to Repeater”.

Burp Suite Repeater

La Tab del Repeater verrà evidenziata in giallo per farci capire che c'è stato un evento che richiede la nostra attenzione. Questa è la schermata principale:

Burp Suite Repeater

Nel riquadro di sinistra troviamo la nostra richiesta che contiene due diversi colori:

  • In blu è il nome del parametro
  • In rosso è il valore del parametro

Il resto del testo è l'header originale che possiamo lasciare così com'è o modificare. Nel riquadro di destra (che apparirà solo dopo aver inviato la richiesta con “Go”) c'è la risposta del server. Diamo uno sguardo all'interfaccia del repeater:

  • la tab “Raw” ci presenta del testo in chiaro, non alterano né decodificato (alcune risposte potrebbero essere in formato gzip);
  • la tab “Params” ci porta all'attenzione i parametri dinamici passati nella richiesta;
  • la tab “Headers” ci mostra solo gli headers di richiesta/risposta, senza aggiungere ulteriore contenuto;
  • la tab “Hex” presenta il contenuto della richiesta/risposta in formato esadecimale (utile per verificare mime type multimediali);
  • la tab “Render” è un browser integrato che ci mostrerà la richiesta con immagini e testo formattato.
  • appena sotto alla richiesta / risposta c'è un campo di testo che serve alla ricerca di testo all'interno di quella specifica finestra;
  • infine nell'angolo in basso a destra troviamo il peso della risposta e i millisecondi impiegati a riceverla;

Proxy Intercept in Burp Suite

Questa funzione ci consente di modificare “al volo” i dati che passiamo al server o la risposta del server verso il nostro browser. Di default è abilitata solo la modifica delle richieste, ma visto che l'abbiamo già fatto su “Repeater”, vediamo come modificare la risposta del server verso il nostro browser.

Applicazioni di utilizzo:

  • Mobile assessment (L'intercept è molto utilizzato per passare all'applicazione mobile dei dati che non si aspetterebbe dal server);
  • Web application in Ajax (Tecnologie come ajax modificano dinamicamente i contenuti del sito, per questo motivo siamo costretti ad usare l'intercept per vedere i risultati sul browser, cosa che con il repeater vedremmo solo staticamente in Burp).

Impostiamo l'intercept per modificare solo le risposte dal server:

  • Posizioniamoci su Proxy - Options
  • Su “Intercept Client Requests” togliamo la spunta ad “Intercept....”
  • Su “Intercept Server Responses” aggiungiamo la spunta ad “Intercept...”
  • Posizioniamoci su Proxt - Intercept e clicchiamo su “Intercept is off” per attivarlo.

A questo punto la prossima richiesta partirà normalmente verso il server senza essere modificata, ma la risposta apparirà in questa Tab di Burp. Modifichiamo il contenuto e clicchiamo su “Forward” e disattiviamo l'intercept per far passare tutte le altre richieste senza doverle approvare manualmente. Questo è il risultato:

Burp Suite

Un esempio utile per quanto riguarda il mobile assessment è provare ad inserire codice javascript e vedere se l'applicazione lo esegue.

Comparer

Il Comparer di Burp è uno strumento che ci consente di evidenziare le differenze fra due richieste/risposte. Funziona allo stesso modo di “diff” su Linux. Applicazioni di utilizzo:

  • Username enumeration: evidenziare le differenze in una richiesta con username valido e in un'altra con username non valido;
  • Blind SQL Injection: essendo una SQL Injection in cui non appaiono errori dobbiamo capire qual è il contenuto di risposta per una condizione vera e qual'è invece il contenuto per una condizione falsa.

Per utilizzarlo ci servono quindi 2 richieste/risposte differenti: prendiamo l'esempio della pagina “/wp-admin/admin-ajax.php” che è adibita a fare richieste XMLRPC in WordPress.

burp comparer richieste

Per vedere le differenze basterà cliccare col pulsante destro e “Send to Comparer”. Facciamolo per entrambi le risposte e posizioniamoci sulla schermata del Comparer. Ora possiamo cliccare sul pulsante “Words” per vedere cos'è cambiato:

Burp richieste a confronto

In rosso sono evidenziati gli elementi che differiscono fra le due risposte:

  • X-Ants-Machine-Id è un header che identifica quale server ha inviato la risposta (html.it fa uso di load-balancer per smistare traffico);
  • Content-length: è la lunghezza della risposta, nella prima richiesta c'è 1 carattere, nella seconda ce ne sono 2;
  • Date: Ora di risposta (ovviamente differisce non essendo stata ricevuta nello stesso momento);
  • X-Varnish: header con identificativo univoco che serve ad riconoscere una richiesta sui log del web server;
  • X-Vanish-Hn: un altro header personalizzato dallo staff di html.it per Varnish;
  • Ed infine il contenuto della risposta.

Nella prima troviamo “0” (zero) che ci fa capire che la funzione che abbiamo richiamato “NOT_EXIST” non è stata riconosciuta dal sistema. Mentre nella seconda risposta troviamo “OK”, un semplice messaggio che ci conferma che la funzione “html_cdb_update_cache” è terminata con successo.

Nella prossima uscita della guida vedremo gli altri strumenti inclusi in Burp Suite

Ti consigliamo anche