Quando utilizzi Burp Suite, potresti spesso imbatterti in dati che utilizzano una qualche forma di codifica. La codifica è generalmente progettata per configurare i dati in modo che il sistema informatico possa gestirli, sfortunatamente, in genere lo rende impossibile o almeno difficile da leggere. In alcuni casi, i dati possono essere decodificati in un formato leggibile dall'uomo, ma in altri casi i dati codificati erano già casuali e non produrranno risultati intelligibili. Burp include uno strumento chiamato "Decoder" per aiutare a decodificare i dati in modo da poter vedere cosa dice o se non contiene dati leggibili.
Come decodificare i dati
Per aggiungere dati a Decoder puoi digitarli manualmente, incollarli dagli appunti oppure puoi fare clic con il tasto destro su di essi nelle schede Target, Proxy, Intruder o Repeater e fare clic su "Invia a Decoder". Puoi farlo con intere richieste; tuttavia, sarà generalmente più utile limitarlo ai soli dati che si desidera decodificare evidenziandoli prima di fare clic con il pulsante destro del mouse.
Una volta che hai i dati in Decoder, puoi decodificarli facendo clic sul pulsante "Decodifica come" a destra e selezionando lo schema di codifica che ritieni stia utilizzando. Tutte le opzioni funzioneranno per qualsiasi input, ma potrebbero non produrre caratteri stampabili, il che generalmente significa che non stava usando quella codifica o che i dati sono stati generati casualmente.
Le codifiche tra cui puoi scegliere sono Plain, URL, HTML, Base64, ASCII hex, Hex, Octal, Binary e Gzip. Seleziona uno di questi dalla casella a discesa e Burp visualizzerà l'output in una nuova casella sottostante. La nuova scatola viene fornita con un proprio set di controlli identici, quindi se scopri che l'output è ancora codificato puoi decodificarlo di nuovo, anche se il tipo di decodifica è diverso. Ad esempio, se si decodifica una stringa Base64 e si trova un'altra stringa Base64, è possibile decodificare anche quella.
Suggerimento: puoi concatenare molti livelli di decodifica; non sei limitato a solo una o due fasi.
Come codificare i dati
Puoi anche utilizzare Decoder per codificare i dati in tutti i metodi di codifica disponibili facendo clic su "Codifica come" e selezionando un metodo di codifica. Questo è utile se devi decodificare una stringa, modificarla, quindi devi ricodificarla per inserire la modifica in una richiesta web.
Suggerimento: la codifica non è particolarmente intelligente; ad esempio, i caratteri alfanumerici non devono essere codificati negli URL in quanto sono caratteri validi, ma il codificatore URL codificherà ogni carattere.
Puoi anche generare un hash di una stringa facendo clic su "Hash" e quindi selezionando un algoritmo. Burp non offre un modo per invertire un hash poiché ciò non è possibile perché gli hash sono funzioni unidirezionali.
Suggerimento: con Decoder è possibile qualsiasi combinazione di decodifica, codifica e hashing, sebbene alcuni ordini di operazioni non abbiano senso logico.
Puoi decodificare, codificare o eseguire l'hashing di una parte di una stringa in Decoder evidenziandola prima di selezionare come deve essere gestita. Questo è utile se hai due variabili codificate con metodi diversi.
Nota: il decoder non supporta le sottoschede, quindi puoi gestire solo un input alla volta. Fai attenzione a copiare il risultato di un processo prima di inviare più dati a Decoder, a meno che tu non sia d'accordo a perderli.