owasp zap tutorial comprehensive review owasp zap tool
Tento výukový program vysvětluje, co je OWASP ZAP, jak to funguje, jak nainstalovat a nastavit proxy ZAP. Zahrnuje také ukázku ověřování ZAP a správy uživatelů:
Proč používat ZAP pro testování pera?
Abychom mohli vyvinout zabezpečenou webovou aplikaci, musíme vědět, jak budou napadeni. Tady přichází požadavek na zabezpečení webových aplikací nebo Penetrační testování.
Z bezpečnostních důvodů používají společnosti placené nástroje, ale OWASP ZAP je skvělá alternativa open-source, která testerům usnadňuje Penetrační testování.
Co se naučíte:
- Co je OWASP ZAP?
- Jak ZAP funguje?
- ZAP autentizace, relace a správa uživatelů
- Ukázka hlášení ZAP Html
- Závěr
Co je OWASP ZAP?
Penetrační testování pomáhá při hledání zranitelných míst dříve, než to provede útočník. OSWAP ZAP je open-source bezplatný nástroj a slouží k provádění penetračních testů. Hlavním cílem Zap je umožnit snadné penetrační testování k nalezení zranitelností ve webových aplikacích.
Výhody ZAP:
- Zap poskytuje více platforem, tj. Funguje ve všech OS (Linux, Mac, Windows)
- Zap je opakovaně použitelný
- Může generovat zprávy
- Ideální pro začátečníky
- Nástroj zdarma
Jak ZAP funguje?
ZAP vytváří proxy server a zajišťuje, aby webový provoz procházel serverem. Použití automatických skenerů v ZAP pomáhá zachytit zranitelná místa na webu.
Pro lepší pochopení si přečtěte tento vývojový diagram:
pl / sql rozhovor otázky a odpovědi
Terminologie ZAP
Před konfigurací nastavení ZAP si přečtěte některé terminologie ZAP:
# 1) Relace : Relace jednoduše znamená procházet webovou stránkou a určit oblast útoku. Za tímto účelem lze použít jakýkoli prohlížeč, jako je Mozilla Firefox, změnou nastavení serveru proxy. Nebo můžeme relaci zap uložit jako .session a můžeme ji znovu použít.
# 2) Kontext: Znamená to webovou aplikaci nebo sadu adres URL dohromady. Kontext vytvořený v ZAP zaútočí na zadaný a zbytek bude ignorovat, aby se zabránilo příliš velkému množství dat.
# 3) Typy útoků ZAP: Hlášení a skenování adresy URL můžete vygenerovat zprávu o chybě zabezpečení pomocí různých typů útoků ZAP.
Aktivní skenování: Můžeme provést aktivní skenování pomocí Zap mnoha způsoby. První možností je Rychlý start, který se nachází na uvítací stránce nástroje ZAP. Přečtěte si následující snímek obrazovky:
Rychlý start 1
Výše uvedený snímek obrazovky ukazuje nejrychlejší způsob, jak začít se ZAP. Zadejte adresu URL na kartě Rychlý start, stiskněte tlačítko Attack a poté začne proces.
Rychlé spuštění spustí pavouka na zadané adrese URL a poté spustí aktivní skener. Spider prochází na všech stránkách počínaje od zadané adresy URL. Přesněji řečeno, stránka Rychlý start je jako „namiřte a střílejte“.
Rychlý start 2
Tady po nastavení cílové adresy URL začne útok. Stav postupu můžete vidět jako spiderování adresy URL k objevování obsahu. Pokud to trvá příliš dlouho, můžeme útok zastavit ručně.
Další možnost pro Aktivní skenování je, že můžeme získat přístup k URL v prohlížeči ZAP proxy, protože Zap ji automaticky detekuje. Po kliknutí pravým tlačítkem na URL -> se spustí aktivní skenování. Jakmile je procházení dokončeno, spustí se aktivní skenování.
Průběh útoku se zobrazí na kartě Aktivní skenování. a karta Spider zobrazí adresu URL seznamu se scénáři útoku. Jakmile je aktivní kontrola dokončena, výsledky se zobrazí na kartě Výstrahy.
Zkontrolujte následující snímek obrazovky Aktivní skenování 1 a Aktivní skenování 2 pro jasné pochopení.
Aktivní skenování 1
Aktivní skenování 2
# 4) Pavouk: Spider identifikuje URL na webu, zkontroluje hypertextové odkazy a přidá jej do seznamu.
# 5) Ajax Spider: V případě, že naše aplikace intenzivně využívá JavaScript, přejděte na AJAX spider pro prozkoumání aplikace.Vysvětlím Ajax spider podrobně v mém dalším tutoriálu.
# 6) Upozornění : Zranitelnosti webových stránek jsou označeny jako upozornění vysoké, střední a nízké.
Instalace ZAP
Nyní pochopíme nastavení instalace ZAP. Nejprve si stáhněte soubor Zap instalace . Protože používám Windows 10, stáhl jsem si odpovídajícím způsobem 64bitový instalační program Windows.
Předpoklady pro instalaci Zap: Je vyžadována Java 7. Pokud ve svém systému nemáte nainstalovanou javu, nejprve si ji získejte. Pak můžeme spustit ZAP.
Nastavte prohlížeč ZAP
Nejprve zavřete všechny aktivní relace prohlížeče Firefox.
Spusťte nástroj Zap >> přejděte do nabídky Nástroje >> vyberte možnosti >> vyberte Local Proxy >> tam můžeme vidět adresu jako localhost (127.0.0.1) a port jako 8080, můžeme změnit na jiný port, pokud již používá, řekněme, že se mění na 8099. Zkontrolujte prosím snímek obrazovky níže:
Místní proxy v Zap 1
Nyní otevřete Mozilla Firefox >> vyberte možnosti >> záložka >> v tom vyberte Síť >> Nastavení připojení >> vyberte možnost Ruční konfigurace proxy. Použijte stejný port jako v nástroji Zap. Ručně jsem změnil na 8099 v ZAP a použil jsem to stejné v prohlížeči Firefox. Níže zkontrolujte snímek obrazovky konfigurace prohlížeče Firefox nastaveného jako prohlížeč proxy.
Nastavení proxy serveru Firefox 1
Zkuste připojit aplikaci pomocí prohlížeče. Zde jsem se pokusil připojit Facebook a říká, že vaše připojení není zabezpečené. Musíte tedy přidat výjimku a poté potvrdit bezpečnostní výjimku pro navigaci na stránku Facebook. Přečtěte si níže uvedené snímky obrazovky:
Přístup na webovou stránku - proxy prohlížeč 1
Přístup na webovou stránku - proxy prohlížeč 2
Otevřete webovou stránku - proxy prohlížeč 3
Zároveň na kartě Zap weby zkontrolujte vytvořenou novou relaci pro stránku na Facebooku. Když jste úspěšně připojili svou aplikaci, můžete vidět více řádků na kartě historie ZAP.
Zap obvykle poskytuje další funkce, ke kterým lze přistupovat pomocí nabídek pravým tlačítkem, jako je,
Klikněte pravým tlačítkem na >> HTML >> aktivní skenování, pak zap provede aktivní skenování a zobrazí výsledky.
Pokud nemůžete svou aplikaci připojit pomocí prohlížeče, zkontrolujte znovu nastavení serveru proxy. Budete muset zkontrolovat nastavení prohlížeče i ZAP proxy.
Generování zpráv v ZAP
Jakmile je aktivní skenování hotové, můžeme generovat zprávy. Za tímto účelem klikněte na OWASP ZAP >> Report >> generovat HTML reporty >> poskytnuta cesta k souboru >> export reportu. Musíme prozkoumat zprávy, aby identifikovaly všechny možné hrozby, a nechat je opravit.
ZAP autentizace, relace a správa uživatelů
Přejdeme k další funkci Zap, která se zabývá ověřováním, správou relací a uživatelů. Prosím, dejte mi vědět jakýkoli dotaz, který vám v souvislosti s tím napadne, jako komentáře.
Základní pojmy
- Kontext : Představuje webovou aplikaci nebo sadu adres URL společně. Pro daný kontext se přidávají nové karty, které přizpůsobují a konfigurují proces ověřování a správy relací. Možnosti jsou k dispozici v dialogovém okně vlastností relace, tj. Dialogové okno vlastností relace -> Kontext -> můžete buď použít výchozí možnost, nebo přidat nový název kontextu.
- Metoda řízení relace: Existují 2 typy metod správy relací. Většinou se používá správa relací založená na cookie, spojená s kontextem.
- Metoda ověřování: ZAP používá hlavně 3 typy metody Auth:
- Metoda ověřování na základě formuláře
- Ruční ověření
- Ověřování HTTP
- Správa uživatelů: Po nakonfigurování schématu ověřování lze pro každý kontext definovat sadu uživatelů. Tito uživatelé se používají pro různé akce ( Například, Spider URL / Context as User Y, send all requests as User X). Brzy budou poskytnuty další akce, které využívají uživatele.
Je implementováno rozšíření „Forced-User“, které nahradí staré rozšíření autentizace, které provádělo opětovné ověření. Na panelu nástrojů je nyní k dispozici režim „Forced-User“ (stejná ikona jako stará přípona ověřování).
Po nastavení uživatele jako „Forced-User“ pro daný kontext nebo pokud je povolen, je každý požadavek odeslaný prostřednictvím ZAP automaticky upraven tak, aby byl odeslán pro tohoto uživatele. Tento režim také provádí opětovné ověření automaticky (zejména ve spojení s ověřováním na základě formuláře), pokud chybí ověření, je zjištěno „odhlášeno“.
Podívejme se na ukázku:
Krok 1:
Nejprve spusťte ZAP a otevřete adresu URL v prohlížeči proxy. Zde jsem vzal ukázkovou adresu URL jako https://tmf-uat.iptquote.com/login.php . Klikněte na Pokročilé -> přidat výjimku -> potvrdit bezpečnostní výjimku jako na straně 6 a 7. Poté se zobrazí vstupní stránka. Zároveň ZAP automaticky načte webovou stránku v části Weby jako novou relaci. Viz následující obrázek.
Krok 2:
Zahrňte to do kontextu. To lze provést buď zahrnutím do výchozího kontextu, nebo přidáním jako nový kontext. Viz následující obrázek.
Krok 3:
Nyní je další metoda ověřování. Ověřování můžete vidět v samotném dialogovém okně vlastností relace. Zde používáme metodu Auth založenou na formuláři.
Mělo by to být jako authMethodParams as ' přihlašovací adresa URL = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
V našem příkladu musíme nastavit metodu ověřování jako založenou na formuláři. Za tímto účelem vyberte cílovou adresu URL, předplní se datové pole žádosti o přihlášení, poté změňte parametr jako uživatelské jméno a heslo -> klikněte na ok .
Krok 4:
Nyní nastavte indikátory, které řeknou ZAP, když je ověřen.
Indikátory přihlášení a odhlášení:
- Je nutný pouze jeden
- Můžeme nastavit Regex vzory odpovídající ve zprávě s odpovědí, je třeba nastavit buď přihlášený, nebo odhlásit indikátor.
- Určete, kdy je odpověď ověřena nebo kdy ne.
- Příklad indikátoru přihlášení: Qhttp: // příklad / odhlášení E nebo Vítejte. *
- Příklad indikátoru Odhlášení: login.jsp nebo něco takového.
Tady, v naší ukázkové aplikaci, jsem přistupoval k URL v proxy prohlížeči. Přihlášen do aplikace pomocí platného pověření, uživatelské jméno jako superadmin a heslo jako primo868. Procházejte vnitřními stránkami a klikněte na odhlášení
Na obrázku 3 můžete vidět, že Zap bere data požadavku na přihlášení jako data použitá pro přihlášení k aplikaci TMF [Přihlášení k ukázkové aplikaci].
Označit přihlášený vzor Regex z odpovědi ZAP jako odpověď -> odhlášená odpověď -> označit jako přihlášený v indikátoru. Odkazují na snímek obrazovky níže
Krok 5:
Můžeme indikátor uložit a ověřit, zda se dialogové okno vlastností relace přidá s indikátorem přihlášení nebo ne. Viz níže uvedený snímek obrazovky:
Krok 6:
Musíme přidat uživatele, platné a neplatné uživatele. Aplikujte na oba pavoučí útoky a analyzujte výsledky.
Platný uživatel:
Neplatný uživatel:
Krok 7:
Ve výchozím nastavení nastavte správu relací jako metodu založenou na souborech cookie.
Krok 8:
Čistý rozhovor s vývojářem, otázky a odpovědi
Spider URL Attack se aplikuje na neplatné a platné uživatele a kontroluje výsledky / generuje zprávy.
Pohled na útok pavouka uživatele 1:
Zde se na neplatného uživatele použije útok pavoučí URL. V rozhraní ZAP vidíme Get: login.php (chyba _message), což znamená, že autentizace selhala. Rovněž nepředává adresy URL prostřednictvím vnitřních stránek TMF.
Krok 9:
Chcete-li použít útok spider URL na platného uživatele, přejděte na seznam webů -> útok -> spider URL -> existující platný uživatel -> zde je ve výchozím nastavení povoleno -> spustit skenování.
Analyzovat výsledky: Jelikož se jedná o platného ověřeného uživatele, bude procházet všemi vnitřními stránkami a zobrazovat stav ověřování jako úspěšný. Viz níže uvedený snímek obrazovky.
Platný uživatel
Ukázka hlášení ZAP Html
Jakmile je aktivní skenování dokončeno, můžeme pro něj vygenerovat zprávu HTML. Vyberte možnost Zpráva -> Generovat zprávu HTML. Připojil jsem ukázkový obsah zpráv HTML. Zde se vygenerují zprávy o vysokých, středních a nízkých výstrahách.
Upozornění
Závěr
V tomto tutoriálu jsme viděli, co je ZAP, jak ZAP funguje, instalace a nastavení proxy ZAP. Různé typy procesů aktivního skenování, ukázka ověřování ZAP, správa relací a uživatelů a základní terminologie. Ve svém dalším tutoriálu vysvětlím útok Ajax spider, použití fuzzerů, vynucené procházení webů.
A pokud jste použili proxy útok Zed a máte nějaké zajímavé tipy ke sdílení, sdílejte je v komentářích níže.
Reference:
Doporučené čtení
- Výukový program pro praktickou kontrolu nástroje pro správu testů PractiTest
- Recenze nástroje TestLodge Test Management
- Výukový program TestComplete: Komplexní průvodce nástrojem pro testování grafického uživatelského rozhraní pro začátečníky
- Backlog Tool Tracking Tool Hands-on Review Tutorial
- Výukový program Bugzilla: Výukový program pro správu defektů
- Jak testovat výkon webových stránek pomocí nástroje SmartMeter.io: Výukový program pro praktickou kontrolu
- Výukový program pro testování přístupnosti WAVE
- Praktická kontrola nástroje pro správu testů qTest