Podczas korzystania z pakietu Burp Suite często można natknąć się na dane korzystające z jakiejś formy kodowania. Kodowanie generalnie ma na celu skonfigurowanie danych tak, aby system komputerowy mógł je obsłużyć, niestety generalnie uniemożliwia lub przynajmniej utrudnia ich odczytanie. W niektórych przypadkach dane można odkodować z powrotem do postaci czytelnej dla człowieka, ale w innych zakodowane dane były już losowe i nie dadzą zrozumiałych wyników. Burp zawiera narzędzie o nazwie „Dekoder”, które pomaga dekodować dane, dzięki czemu można zobaczyć, co mówi, lub jeśli nie zawiera danych czytelnych dla człowieka.
Jak dekodować dane
Aby dodać dane do dekodera, możesz wpisać je ręcznie, wkleić ze schowka lub kliknąć prawym przyciskiem myszy w zakładkach Target, Proxy, Intruder lub Repeater i kliknąć „Wyślij do dekodera”. Możesz to zrobić z całymi żądaniami; jednak ogólnie bardziej pomocne będzie ograniczenie go tylko do danych, które chcesz zdekodować, podświetlając je przed kliknięciem prawym przyciskiem myszy.
Kliknij prawym przyciskiem myszy dane, które chcesz zdekodować, a następnie kliknij „Wyślij do dekodera”.
Gdy masz już dane w Dekoderze, możesz je zdekodować, klikając przycisk „Dekoduj jako” po prawej stronie i wybierając schemat kodowania, którego Twoim zdaniem używa. Wszystkie opcje będą działać dla dowolnego wejścia, ale mogą nie generować znaków drukowalnych, co ogólnie oznacza, że nie używało tego kodowania lub dane zostały wygenerowane losowo.
Dostępne kodowania to: Plain, URL, HTML, Base64, ASCII hex, Hex, Octal, Binary i Gzip. Wybierz jedną z nich z listy rozwijanej, a Burp wyświetli dane wyjściowe w nowym polu poniżej. Nowe pudełko ma własny zestaw identycznych kontrolek, więc jeśli okaże się, że dane wyjściowe są nadal zakodowane, możesz je ponownie zdekodować, nawet jeśli typ dekodowania jest inny. Na przykład, jeśli zdekodujesz ciąg Base64 i znajdziesz inny ciąg Base64, możesz go również zdekodować.
Wskazówka: Możesz połączyć wiele poziomów dekodowania; nie jesteś ograniczony tylko do jednego lub dwóch etapów.
Możesz zdekodować dane, a następnie ponownie zdekodować wynik, jeśli istnieje wiele poziomów kodowania.
Jak zakodować dane
Możesz także użyć Dekodera do kodowania danych we wszystkich dostępnych metodach kodowania, klikając „Zakoduj jako” i wybierając metodę kodowania. Jest to przydatne, jeśli musisz zdekodować ciąg, zmodyfikować go, a następnie ponownie zakodować, aby wstawić zmianę do żądania internetowego.
Wskazówka: kodowanie nie jest szczególnie inteligentne; na przykład znaki alfanumeryczne nie muszą być kodowane w adresach URL, ponieważ są to prawidłowe znaki, ale koder adresu URL zakoduje każdy znak.
Możesz również wygenerować skrót ciągu, klikając „Hash”, a następnie wybierając algorytm. Burp nie oferuje sposobu odwrócenia skrótu, ponieważ nie jest to możliwe, ponieważ skróty są funkcjami jednokierunkowymi.
Wskazówka: Dowolna kombinacja dekodowania, kodowania i mieszania jest możliwa w Dekoderze, chociaż niektóre porządki działania nie mają logicznego sensu.
Możesz także użyć Dekodera do kodowania danych lub ich mieszania.
Możesz dekodować, kodować lub haszować część ciągu w Decoder, podświetlając go przed wybraniem sposobu, w jaki powinien być obsługiwany. Jest to przydatne, jeśli masz dwie zmienne zakodowane różnymi metodami.
Uwaga: Dekoder nie obsługuje kart podrzędnych, więc możesz zarządzać tylko jednym wejściem na raz. Pamiętaj, aby skopiować wynik procesu przed wysłaniem większej ilości danych do Dekodera, chyba że nie masz nic przeciwko ich utracie.