Zpět na seznam článků     Číst komentáře (0)     Verze pro tisk

Burp Suite k penetračnímu testování (2.díl – Modul Repeater)

Autor: .cCuMiNn.   
23.7.2014

Po té, co jsme se s nástrojem Burp Suite naučili zachytávat jednotlivé requesty a prohlížet historii komunikace browseru, je na čase, bychom si ukázali, jak lze jednotlivé requesty použít při testech, při nichž budeme dodatečně měnit určité odesílané hodnoty a budeme sledovat reakce serveru.


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:

http://www.hackmail.cz/articles/search.php?query=test

Při testech pak zkoušíte různé hodnoty proměnné query:

http://www.hackmail.cz/articles/search.php?query=test<hr>
http://www.hackmail.cz/articles/search.php?query=test' or 'a'='a
http://www.hackmail.cz/articles/search.php?query=%00
apd.

Burp SuiteV 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?


Modul Repeater

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í.

  • Go - tímto tlačítkem ukončíte editaci požadavku a odešle jej na webový server.
  • Cancel – pokud na odpověď serveru už nějaký čas čekáte, například kvůli přílišné velikosti požadavku/odpovědi, nebo proto, že některá ze zúčastněných stran stále čeká na data, která nepřichází, můžete komunikaci ukončit právě tímto tlačítkem.
  • Tlačítka vlevo a vpravo zastupují činnosti vzad a vpřed, s jejichž pomocí se můžete přesouvat mezi různými verzemi požadavku, jež jste odeslali dříve.
  • Follow redirection - Toto tlačítko se zobrazí v případě, kdy odpověď serveru přesměrovává na jinou stránku. Pomocí tohoto tlačítka načteme obsah, který by prohlížeč načetl po provedeném přesměrování.


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.

  • Raw – výpis odpovědi v textové podobě
  • Headers – výpis HTTP hlaviček, které odpověď serveru obsahuje
  • Hex – výpis odpovědi v hexadecimální podobě
  • HTML – výpis HTML kódu, který odpověď obsahuje, je vypuštěno zobrazení HTTP hlaviček
  • Render – zobrazení odpovědi tak, jak by byla zobrazena prohlížečem. Způsob zpracování je závislý na MIME typu vrácených dat. Obrázek se zobrazí jako obrázek, HTML kód se vyrenderuje jako webová stránka.


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:

  • Update Content-Length - zapne, resp.vypne možnost automatického přepočtu délky těla POST požadavků v HTTP hlavičce Content-Lenght při jeho případné změně.
  • Unpack gzip/deflate - automaticky dekomprimuje komunikaci, bylo li použito komprimačních mechanizmů při jejich přenosu.
  • Follow redirections - Nastavuje chování nástroje v případě, že server vrací požadavek na přesměrování.
  • Process cookies in redirections - určuje, zda budou při přesměrování odesílána cookies.
  • View - Umožňuje přizpůsobit zobrazení panelů pro request a response (vedle sebe/pod sebou).
  • Actions - Nám již poměrně dobře známé menu, nad kterým není potřeba se pozastavovat.


Práci s repeaterem si můžete prohlédnout i na následujícím videu:



Všechny díly seriálu

Burp Suite k penetračnímu testování (1.díl – Modul Proxy)
Burp Suite k penetračnímu testování (2.díl – Modul Repeater)
Burp Suite k penetračnímu testování (3.díl - Modul Intruder)
Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1/2

1  2  3  4  5    
(známkování jako ve škole)