Autor: .cCuMiNn. | 23.7.2014 |
S největší pravděpodobností jste se již dostali do situace, kdy jste testovali chování serveru na změny hodnot proměnných předávaných v URL. Příklad takového URL, které si zaslouží pozornost testera, je například:
Při testech pak zkoušíte různé hodnoty proměnné query:
V případě GET požadavků, kdy se proměnné předávají v URL je podobná úprava požadavků velice snadná a používat k tomuto účelu nějaký externí nástroj je evidentně zbytečné. Jak ale stejného efektu dosáhnout, pokud chceme stejným způsobem testovat reakci serveru na změnu hodnot POST proměnných, hodnot cookies nebo různých HTTP hlaviček?
Právě pro opakované odesílání jednotlivých requestů, v nichž máme před odesláním možnost upravit libovolnou část, slouží další z modulů nástroje Burp Suite: Repeater (česky „opakovač“). Pokud chceme Repeater začít používat, musíme do něj nejprve předat z Interceptu nebo z historie modulu Proxy nějaký request. Jak toho dosáhnout jsme si vysvětlili v předchozím dílu seriálu, takže již víme, že request předáme repeateru výběrem možnosti „Send to Repeater“ z kontextového menu, které vyvoláme kliknutím na tlačítko Action v Interceptu, nebo kliknutím pravým myšítkem nad požadovaným záznamem v historii requestů.
Jakmile odešleme požadavek do repeateru, můžeme se do tohoto modulu přesunout kliknutím na stejnojmennou záložku ve vrchní části okna nástroje Burp Suite. Okno repeateru obsahuje ve vrchní části záložky označené 1x, 2x, 3x, atd. podle počtu požadavků, které jsme do repeateru z modulu Proxy odeslali.
Poznámka: Znak x za číslem je ikona sloužící pro uzavření requestů, s nimiž už nebudeme chtít dále pracovat.
Níže pod záložkami jednotlivých requestů se nachází tlačítka Go, Cancel, <, >, a případně také Follow redirection, jejich význam je víceméně intuitivní.
Pod popsanými tlačítky se nachází dva panely. Levý pro zobrazení a editaci požadavku (Request), pravý pro prohlížení odpovědi, kterou na náš požadavek vrátil server (Response).
Request si můžeme zobrazit buďto v textové podobě (raw) nebo v hexadecimálním vyjádření (hex), které využijeme hlavně při práci s binárními daty.
Pro zobrazení odpovědi serveru jsou nám k dispozici (podle typu vrácených dat) stejné možnosti, jako tomu bylo v modulu Proxy. Nabídka se může měnit na základě typu vrácených dat.
Pod oběma panely se nachází ještě vstupní pole, které nám umožňují vyhledávat v komunikaci konkrétní řetězce.
Mimo varianty předání requestů z modulu Proxy, máme možnost vytvořit celý požadavek od základů ručně. Nezapomínejte přitom, že u GET požadavků je nutné za hlavičkami dvakrát odentrovat, abyste serveru oznámili, že již nemá očekávat další data.
Povšimněte si také volby Repeater v hlavním menu nástroje Burp Suite (nad záložkami jednotlivých modulů). Zde máte možnosti:
Práci s repeaterem si můžete prohlédnout i na následujícím videu: