Når du bruker Burp Suite, kan du ofte komme over data som bruker en eller annen form for koding. Koding er generelt designet for å konfigurere dataene slik at datasystemet kan håndtere det, dessverre gjør det det vanligvis umulig, eller i det minste vanskelig å lese. I noen tilfeller kan dataene dekodes tilbake til en menneskelig lesbar form, men i andre tilfeller var de kodede dataene allerede tilfeldige og vil ikke gi forståelige resultater. Burp inkluderer et verktøy kalt "Decoder" for å hjelpe med å dekode data slik at du kan se hva det står, eller hvis det ikke inneholder data som kan leses av mennesker.
Hvordan dekode data
For å legge til data til Decoder kan du enten skrive det inn manuelt, lime det inn fra utklippstavlen, eller du kan høyreklikke på det i Target, Proxy, Intruder eller Repeater-fanene og klikke på "Send to Decoder". Du kan gjøre dette med hele forespørsler; Imidlertid vil det generelt være mer nyttig å begrense det til bare dataene du vil dekodes ved å markere det før du høyreklikker.
Når du har data i Decoder, kan du dekode dem ved å klikke på "Decode as"-knappen til høyre og velge kodingsskjemaet du tror den bruker. Alle alternativene vil fungere for alle inndata, men de produserer kanskje ikke utskrivbare tegn, noe som vanligvis betyr at den ikke brukte den kodingen eller at dataene bare ble generert tilfeldig.
Kodingene du kan velge mellom er Plain, URL, HTML, Base64, ASCII hex, Hex, Octal, Binary og Gzip. Velg en av disse fra rullegardinboksen, og Burp vil vise utdataene i en ny boks nedenfor. Den nye boksen kommer med sitt eget sett med identiske kontroller, så hvis du finner ut at utgangen fortsatt er kodet kan du dekode den igjen, selv om dekodingstypen er annerledes. For eksempel, hvis du dekoder en Base64-streng og finner en annen Base64-streng, kan du dekode den også.
Tips: Du kan lenke sammen mange nivåer av dekoding; du er ikke begrenset til bare ett eller to stadier.
Hvordan kode data
Du kan også bruke Decoder til å kode data i alle de tilgjengelige kodingsmetodene ved å klikke på "Encode as" og velge en kodingsmetode. Dette er nyttig hvis du trenger å dekode en streng, endre den og deretter kode den på nytt for å sette inn endringen i en nettforespørsel.
Tips: Kodingen er ikke spesielt smart; for eksempel trenger ikke alfanumeriske tegn å kodes i URL-er da de er gyldige tegn, men URL-koderen vil kode hvert tegn.
Du kan også generere en hash av en streng ved å klikke på "Hash" og deretter velge en algoritme. Burp tilbyr ikke en måte å reversere en hash, da dette ikke er mulig fordi hash er enveisfunksjoner.
Tips: Enhver kombinasjon av dekoding, koding og hashing er mulig med Decoder, selv om noen operasjonsrekkefølger ikke vil gi logisk mening.
Du kan dekode, kode eller hash en del av en streng i Decoder ved å markere den før du velger hvordan den skal håndteres. Dette er nyttig hvis du har to variabler kodet med forskjellige metoder.
Merk: Dekoder støtter ikke underfaner, så du kan bare administrere én inngang om gangen. Vær forsiktig med å kopiere resultatet av en prosess før du sender mer data til Decoder med mindre du er ok med å miste den.