Sexy proxy chrobák WebScarab analyzuje aplikace

Petr Závodský 15. 7. 2010

Že je WebScarab sexy chrobák nezjistíte okamžitě. Jakmile mu však podlehnete, začnete zjišťovat, že on neovládá vás, ale že vy ovládáte jeho. V mžiku jím lze provést základní penetrační test, lze si však vytvořit také vlastní a podstatně komplikovanější a náročnější testy. Užitečná i nebezpečná záležitost.

WebScarab je multiplatformní nástroj pro analýzu aplikací, které komunikují prostřednictvím HTTP a HTTPS protokolů. Nejčastěji se WebScarab používá jako záchytné proxy, čímž vývojářům a testerům umožňuje prozkoumávat komunikaci mezi prohlížečem a serverem. Je psán v Javě, umožňuje doplňovat, odstraňovat či modifikovat pluginy a i ve svém základním provedení se jedná o skvělý nástroj, který ocení především lidé, kteří se věnují bezpečnosti webových aplikací.

WebScarab vs. WebScarab-NG

Aktuálně můžeme hovořit o dvou velmi podobných projektech, za nimiž stojí Rogan Dawes z Corsaire Security. O projektu OWASP WebScarab a o projektu OWAPS WebScarab-NG (Next Generation) . WebScarab-NG postupně nahrazuje zastaralou verzi WebScarab. WebScarab-NG je uživatelsky daleko přívětivější, avšak zatím neoplývá tolika funkcemi jako předchůdce WebScarab.

My se zde zaměříme pouze na WebScarab. K projektu WebScarab-NG se vrátíme s některou jeho novější verzí.

Přehled

Přepnutí z Use Lite interface do Use full-featured interface

Po prvním spuštění se vám zobrazí Use Lite interface – odlehčená varianta. S tím si pro naše účely budoucích ukázek bezpečnostních chyb však nevystačíme, proto použijeme Use full-featured interface.

Pokud se vám zobrazuje WebScarab Lite, v záložce Tools odfajfkujte Use full-featured interface. A restartujte WebScarab.

Nastavení připojení

Chcete-li WebScarab používat jako proxy, musíte k tomuto účelu přenastavit připojení v prohlížeči.

Mozilla Firefox:

Nástroje / Možnosti / Rozšířené / Nastavení připojení / zaškrtněte Ruční konfigurace proxy serverů a nastavte HTTP proxy: localhost a Port: 8008.

Internet Explorer:

Nástroje / Možnosti Internetu / Připojení / Nastavení místní sítě / zaškrtněte Používat pro síť LAN server proxy a nastavte Adresa: localhost a Port: 8008.

Proxy přepínač

Protože s WebScarabem pracuji poměrně často, bylo pro mě zdlouhavé a obtěžující neustále přenastavovat připojení. Proto jsem si brzy pořídil přepínač proxy, jenž mi při penetračním testování poskytl zvýšený pracovní komfort. Osobně nejčastěji používám jednoduchý quickProxy (Isuru Udana Loku Narangoda), doplněk pro Firefox (stránka projektu). Obdobných doplňků jistě najdete více i pro ostatní prohlížeče.

Základní ovládání

WebScarab pro začínající penetrační testery je poměrně krkolomný nástroj a je zapotřebí si na něj zvyknout. Vychází vstříc spíše zapáleným odborníkům, kteří mají přehled o problematice. Pokud čekáte, že stisknete nějaké tlačítko a nástroj vám oznámí veškerá nalezená bezpečnostní rizika, s WebScarabem ani nezačínejte. Jste-li hraví, zkoumaví, umíte-li alespoň trochu programovat, říká-li vám něco HTTP protokol a berete-li téma zabezpečení webových aplikací opravdu vážně, potom WebScarab je chrobák právě pro vás.

Cílem našeho seriálu není jednotlivé nástroje popisovat do detailu (to by zabralo několik seriálů), ale upozornit alespoň na jejich základní ovládání. S praktickým využitím se setkáme v dalších dílech, kde si ukážeme projevy a testování některých rizik. Tedy velmi stručně:

Summary: Souhrnné informace. Naleznete zde stromovou strukturu webové stránky a v tabulce seznam komunikace mezi prohlížečem a serverem. Avšak provádět změny v těchto položkách nemůžete.

Pokud v tabulce rozkliknete některou z položek, zobrazí se vám podrobnější informace.

Messages: Zde se zobrazují systémové zprávy.

Proxy: Udržuje komunikaci mezi prohlížečem a webovým serverem. WebScarab je schopen sledovat jak HTTP tak HTTPS komunikaci (to neznamená, že by tím bylo prolomeno SSL).

Proxy / Listeners: Listeners umožňuje nastavit adresu, na které WebScarab poslouchá. Ve výchozím nastavení WebScarab poslouchá na localhostu.

Chcete-li zjistit, jak se webová stránka bude chovat při konkrétním typu připojení, potom proveďte nastavení položky Speed. Na výběr máte možnosti: Unlimited, T1, ISDN, DSL (384k down, 128k up), Bonded ISDN, 56k modem, 28k modem). Pro nerušené testování chování stránky při různých typech připojení si deaktivujte Intercept requests a Intercept responses pod Proxy / Manual Edit.

Proxy / Manual Edit: Umožňuje nastavit, jak a které HTTP i HTTPS požadavky a odpovědi chceme zachytávat. Máme na výběr metody (Methods): GET, POST, HEAD, PUT, DELETE, TRACE, PROPFIND, OPTIONS – pro označení více položek použijeme klávesu Ctrl. Položka Intercept requests aktivuje nebo deaktivuje možnost použití Methods. Intercept responses aktivuje či deaktivuje odchytávání požadavků.

Proxy / BeanShell: Umožňuje provádět v podstatě jakkoliv složité operace s požadavky a odpověďmi (requests responses), které lze vyjádřit jazykem Java.

Proxy / Misscellaneous / Reveal hidden fields: Odhalení skrytého pole. Někdy oceníte provádění změn ve skrytých polích přímo na webové stránce než změnou odchycených požadavků v nástroji WebScarab.

Manual Request: Editace requestů. Můžete si vybrat předchozí požadavek pod Previous Requests a následně ho upravit anebo si můžete vytvořit zcela nový požadavek.

WebServices: Plugin umožňující analýzu WSDL .

Spider: Zobrazuje strukturu webu. Na webu se obvykle nalézají odkazy na jiné weby. Když chcete zobrazit strukturu i těchto ostatních webů, označte je a použijte položky Fetch Tree nebo Fetch Selection.

Extensions: Možnost automatizace kontroly souborů v aplikaci (například .bak, .zip aj.).

XSS/CRLF: Plugin pro pasivní analýzu; uživatel má možnost kontrolovat údaje v HTTP hlavičce a případně registrovat možná rizika typu CRLF Injection a XSS.

SessionID Analysis: Analýza cookies; např. pro vizuální kontrolu nepredikovatelnosti SessionId.

SessionID Analysis / Collection: Sběr SessionID. Z cookies (z informace v hlavičce) anebo odpovídající regulární výraz z těla.

SessionID Analysis / Analysis:

SessionID Analysis / Visualisaton:

Scripted: Možnost vytvoření skriptu (BeanShell nebo jiné podporované BSF jazyky) pro tvorbu požadavku a jeho načtení ze serveru. Skript následně může např. provádět některé automatické analýzy requestů.

Fragments: Výpis skriptů a komentářů, které procházejí přes proxy.

Fuzzer: Automatizované nahrazování hodnot parametrů; vhodné pro odhalování rizik XSS, SQL Injection apod.

Compare: Ze seznamu vyberete dvě položky a můžete porovnávat.

Search: Vyhledávání prostřednictvím BeanShellu. Nečekejme ale, že se jedná o vyhledávání podobné vyhledávání v Googlu. Například následující příkaz najde cookies, která nepoužívají příznak secure v případě https spojení:

request.getURL().toString().startsWith("https://") && response.getHeader("Set-Cookie").indexOf("secure") == -1

Závěr

To, že WebScarab je opravdu výborný nástroj, si ukážeme v některých dalších dílech, kdy budete mít možnost seznámit se s některými jeho přednostmi. Je pravda, že pokud si WebScarab sami nerozšíříte anebo nepočkáte na novější verze WebScarab-NG, můžete podlehnout oprávněnému dojmu, že uživatelsky jistě přívětivější jsou některé konkurenční nástroje. Vzhledem k tomu, že nástin budoucího vývoje projektu avizuje kombinaci stávajících předností s uživatelskou pohodou, doporučuji koketovat s WebScarabem již nyní.

Ohodnoťte jako ve škole:

Průměrná známka 1,42

Našli jste v článku chybu?
Zasílat nově přidané příspěvky e-mailem
120na80.cz: V zákulisí farmafirmy: růžový, ale i bílý Ibalgin

V zákulisí farmafirmy: růžový, ale i bílý Ibalgin

Vitalia.cz: Italové v Praze: Sýry vyrábějí z našeho mléka

Italové v Praze: Sýry vyrábějí z našeho mléka

Podnikatel.cz: Hlasovat o EET se bude 10. února

Hlasovat o EET se bude 10. února

Měšec.cz: Velký jističový podfuk

Velký jističový podfuk

Lupa.cz: Oracle končí s Java pluginem v prohlížečích

Oracle končí s Java pluginem v prohlížečích

Podnikatel.cz: Babiš chce snížit DPH u piva o 10 %

Babiš chce snížit DPH u piva o 10 %

Vitalia.cz: Ministerstvo: Palmový olej nezakážeme, není důvod

Ministerstvo: Palmový olej nezakážeme, není důvod

Vitalia.cz: Kouzlo generik: Jak se liší Paralen a Paralen Grip?

Kouzlo generik: Jak se liší Paralen a Paralen Grip?

Vitalia.cz: Levnější pivo? Babiš neví, co činí

Levnější pivo? Babiš neví, co činí

Lupa.cz: Jak na wifi zdarma? Praha 11 se spojila s komunitou

Jak na wifi zdarma? Praha 11 se spojila s komunitou

Podnikatel.cz: Legální fotka za cenu kávy. Na to máte, ne?

Legální fotka za cenu kávy. Na to máte, ne?

Lupa.cz: Tip: tucet užitečných shieldů pro Arduino

Tip: tucet užitečných shieldů pro Arduino

Vitalia.cz: Inspekce kontrolovala pesticidy a vodní dýmky

Inspekce kontrolovala pesticidy a vodní dýmky

Měšec.cz: Katalogoví šmejdi. Oberou vás o 30 tisíc a legálně.

Katalogoví šmejdi. Oberou vás o 30 tisíc a legálně.

Podnikatel.cz: Podal přiznání, má přeplatek. Nevrátí mu ho

Podal přiznání, má přeplatek. Nevrátí mu ho

120na80.cz: Domácí homeopatická lékárnička

Domácí homeopatická lékárnička

Vitalia.cz: Čínská medicína: Citron při chřipce ne

Čínská medicína: Citron při chřipce ne

DigiZone.cz: Voyo přes Chromecast? Zatím omezené na PC

Voyo přes Chromecast? Zatím omezené na PC

Podnikatel.cz: Nechtějí vrátit odpočet DPH? Chtějte úrok

Nechtějí vrátit odpočet DPH? Chtějte úrok

Vitalia.cz: Pro otrlé: 42 obrázků, které budou na cigaretách

Pro otrlé: 42 obrázků, které budou na cigaretách

Ušetřete