owasp zap tutorial comprehensive review owasp zap tool
Denna handledning förklarar vad som är OWASP ZAP, hur fungerar det, hur man installerar och konfigurerar ZAP Proxy. Inkluderar också demo av ZAP-autentisering och användarhantering:
Varför använda ZAP för testning av pennor?
För att utveckla en säker webbapplikation måste man veta hur de kommer att attackeras. Här kommer kravet på säkerhet för webbappar eller Penetration Testing.
För säkerhetsändamål använder företag betalda verktyg, men OWASP ZAP är ett utmärkt alternativ med öppen källkod som gör testning av penetration enklare för testare.
Vad du kommer att lära dig:
- Vad är OWASP ZAP?
- Hur fungerar ZAP?
- ZAP-autentisering, session och användarhantering
- ZAP Html-rapportprov
- Slutsats
Vad är OWASP ZAP?
Genomträngningstestning hjälper till att hitta sårbarheter innan en angripare gör det. OSWAP ZAP är ett öppet källkodsfritt verktyg och används för att utföra penetrationstester. Huvudmålet för Zap är att möjliggöra enkel penetrationstest för att hitta sårbarheter i webbapplikationer.
ZAP-fördelar:
- Zap tillhandahåller plattformsoberoende dvs det fungerar i alla operativsystem (Linux, Mac, Windows)
- Zap kan återanvändas
- Kan generera rapporter
- Perfekt för nybörjare
- Gratis verktyg
Hur fungerar ZAP?
ZAP skapar en proxyserver och får webbplatstrafiken att passera genom servern. Användningen av autoskannrar i ZAP hjälper till att fånga upp sårbarheterna på webbplatsen.
Se det här flödesschemat för en bättre förståelse:
hur man får snabbböcker gratis
ZAP-terminologier
Låt oss förstå några ZAP-terminologier innan vi konfigurerar ZAP-inställningar:
# 1) Session : Session betyder helt enkelt att navigera genom webbplatsen för att identifiera attackområdet. För detta ändamål kan alla webbläsare som Mozilla Firefox användas genom att ändra dess proxyinställningar. Annars kan vi spara zap-session som .session och kan återanvändas.
# 2) Kontext: Det betyder en webbapplikation eller en uppsättning webbadresser tillsammans. Det sammanhang som skapas i ZAP kommer att attackera den angivna och ignorera resten för att undvika för mycket data.
# 3) Typer av ZAP-attacker: Du kan skapa en sårbarhetsrapport med olika ZAP-attacktyper genom att slå och skanna webbadressen.
Aktiv skanning: Vi kan utföra en aktiv skanning med Zap på många sätt. Det första alternativet är Snabbstart, som finns på välkomstsidan för ZAP-verktyget. Se nedanstående skärmdump:
Snabbstart 1
Ovanstående skärmdump visar det snabbaste sättet att komma igång med ZAP. Ange webbadressen under fliken Snabbstart, tryck på Attack-knappen och sedan börjar framstegen.
Snabbstart kör spindeln på den angivna URL: n och kör sedan den aktiva skannern. En spindel genomsöker på alla sidor med start från den angivna webbadressen. För att vara mer exakt är snabbstartssidan som 'peka och skjut'.
Snabbstart 2
Här, när du ställer in mål-URL, startar attacken. Du kan se framstegsstatusen som spidering av webbadressen för att upptäcka innehåll. Vi kan stoppa attacken manuellt om det tar för mycket tid.
Ett annat alternativ för Aktiv skanning är att vi kan komma åt webbadressen i ZAP-proxy-webbläsaren eftersom Zap automatiskt upptäcker den. Högerklicka på URL: en -> Aktiv skanning startas. När genomsökningen är klar startar den aktiva genomsökningen.
Attackförlopp visas på fliken Aktiv skanning. och fliken Spindel visar listans URL med attack-scenarier. När den aktiva genomsökningen är klar visas resultaten på fliken Varningar.
Kontrollera nedanstående skärmdump av Aktiv skanning 1 och Aktiv skanning 2 för tydlig förståelse.
Aktiv skanning 1
Aktiv skanning 2
# 4) Spindel: Spider identifierar webbadressen på webbplatsen, leta efter hyperlänkar och lägg till den i listan.
# 5) Ajax Spider: Om vår applikation använder JavaScript i stor utsträckning, gå till AJAX-spindeln för att utforska appen.Jag kommer att förklara Ajax spindel i detalj i min nästa handledning.
# 6) Varningar : Webbplatsens sårbarheter markeras som höga, medelstora och låga varningar.
ZAP-installation
Nu kommer vi att förstå installationen av ZAP-installationen. Ladda först ned Zap-installation . När jag använder Windows 10 har jag laddat ner Windows 64-bitars installationsprogram därefter.
Förutsättningar för Zap-installation: Java 7 krävs. Om du inte har java installerat i ditt system, hämta det först. Då kan vi starta ZAP.
Ställ in ZAP-webbläsaren
Stäng först alla aktiva Firefox-sessioner.
Starta Zap-verktyget >> gå till Verktyg-menyn >> välj alternativ >> välj Lokal proxy >> där kan vi se adressen som localhost (127.0.0.1) och port som 8080, vi kan byta till annan port om den redan använder, säg att jag ändrar till 8099. Kontrollera skärmdumpen nedan:
Lokal proxy i Zap 1
Öppna nu Mozilla Firefox >> välj alternativ >> fliken avancera >> genom att välja Nätverk >> Anslutningsinställningar >> välj alternativ Manuell proxykonfiguration. Använd samma port som i Zap-verktyget. Jag har ändrat manuellt till 8099 i ZAP och använt detsamma i Firefox-webbläsaren. Kontrollera nedan skärmdump av Firefox-konfigurationen som ställts in som en proxy-webbläsare.
Firefox proxyinställning 1
Försök att ansluta din applikation med din webbläsare. Här har jag försökt ansluta Facebook och det står att din anslutning inte är säker. Så du måste lägga till ett undantag och sedan bekräfta säkerhetsundantag för att navigera till Facebook-sidan. Se skärmdumparna nedan:
Åtkomst till webbsida-proxy-webbläsare 1
Åtkomst till webbsida - proxy-webbläsare 2
Åtkomst till webbsida-proxy-webbläsare 3
Kontrollera samtidigt den skapade nya sessionen på Facebook-sidan under fliken Zaps webbplatser. När du har anslutit din applikation framgångsrikt kan du se fler rader i historikfliken i ZAP.
Zap ger normalt ytterligare funktioner som kan nås genom att högerklicka på menyer som,
Högerklicka på >> HTML >> aktiv skanning, sedan utför zap aktiv skanning och visar resultat.
Om du inte kan ansluta din applikation med webbläsaren kontrollerar du dina proxyinställningar igen. Du måste kontrollera både webbläsar- och ZAP-proxyinställningar.
Generera rapporter i ZAP
När den aktiva genomsökningen är klar kan vi generera rapporter. För det klicket OWASP ZAP >> Rapportera >> generera HTML-rapporter >> tillhandahållna filvägar >> exporterad skanningsrapport. Vi måste granska rapporterna för att identifiera alla möjliga hot och fixa dem.
ZAP-autentisering, session och användarhantering
Låt oss gå vidare till en annan Zap-funktion, hantera autentisering, session och användarhantering. Vänligen meddela mig alla frågor som du kommer att tänka på i samband med detta som kommentarer.
Grundläggande koncept
- Sammanhang : Det representerar en webbapplikation eller en uppsättning webbadresser tillsammans. För en viss kontext läggs nya flikar till för att anpassa och konfigurera autentiserings- och sessionshanteringsprocessen. Alternativen finns i dialogrutan för sessionsegenskaper. Dvs dialogbok om sessionsegenskaper -> Kontext -> du kan antingen använda standardalternativet eller lägga till ett nytt kontextnamn.
- Sessionshanteringsmetod: Det finns två typer av sessionshanteringsmetoder. För det mesta används cookiebaserad sessionhantering, associerad med sammanhanget.
- Verifieringsmetod: Det finns huvudsakligen tre typer Auth-metoder som används av ZAP:
- Formbaserad autentiseringsmetod
- Manuell autentisering
- HTTP-autentisering
- Användarhantering: När autentiseringsschemat har konfigurerats kan en uppsättning användare definieras för varje sammanhang. Dessa användare används för olika åtgärder ( Till exempel, Spider URL / Context som User Y, skicka alla förfrågningar som User X). Snart kommer fler åtgärder att tillhandahålla som använder användarna.
Ett 'Forced-User' -tillägg implementeras för att ersätta det gamla autentiseringstillägget som utförde omverifiering. Ett “Tvångsanvändarläge” -läge är nu tillgängligt via verktygsfältet (samma ikon som det gamla autentiseringstillägget).
Efter att en användare har ställts in som ”Tvingad användare” för ett visst sammanhang eller när den är aktiverad ändras varje begäran som skickas via ZAP automatiskt så att den skickas för den här användaren. Detta läge utför också automatisk autentisering (speciellt i samband med den formbaserade autentiseringen) om det saknas autentisering upptäcks 'utloggad'.
Låt oss se en demo:
Steg 1:
Starta först ZAP och få åtkomst till URL: en i proxy-webbläsaren. Här har jag tagit exempel-URL som https://tmf-uat.iptquote.com/login.php . Klicka på Avancerat -> lägg till undantag -> bekräfta säkerhetsundantag som på sidan 6 och 7. Då visas målsidan. Samtidigt laddar ZAP automatiskt webbsidan under webbplatser som en ny session. Se bilden nedan.
Steg 2:
Inkludera det i ett sammanhang. Detta kan göras antingen genom att inkludera det i ett standardkontext eller lägga till det som ett nytt sammanhang. Se bilden nedan.
Steg 3:
Nu är nästa autentiseringsmetod. Du kan se Autentisering i dialogrutan för sessionsegenskaper. Här använder vi den formulärbaserade Auth-metoden.
Det ska vara som authMethodParams som ' inloggnings Url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
I vårt exempel måste vi ställa in autentiseringsmetoden som formulärbaserad. För detta, välj mål-URL, inloggningsförfrågan postdatafältet fylls i förflutet, ändra sedan parametern som användarnamn och lösenord -> klicka ok .
Steg 4:
Ställ nu in indikatorer som kommer att berätta för ZAP när den är autentiserad.
Inloggade och utloggade indikatorer:
- Endast en är nödvändig
- Vi kan ställa in Regex-mönster som matchas i svarsmeddelandet, vi måste ange antingen inloggad eller logga ut.
- Identifiera när ett svar autentiseras eller när inte.
- Exempel för inloggad indikator: Qhttp: // exempel / utloggning E eller välkomstanvändare. *
- Exempel på utloggad indikator: login.jsp eller något liknande.
Här, i vår demoapplikation, har jag öppnat URL: en i en proxy-webbläsare. Inloggad på applikationen med en giltig referens, användarnamn som superadmin och lösenord som primo868. Navigera genom inre sidor och klicka på utloggning
Du kan se i steg 3 skärmdump, Zap tar inloggningsuppgifterna som en som används för TMF-applikationsinloggningen (Demo-applikationsinloggning).
Flagga inloggat Regex-mönster från svaret från ZAP som svar -> utloggat svar -> flagga det som inloggat i indikatorn. Hänvisa till skärmdumpen nedan
Steg 5:
Vi kan spara indikatorn och verifiera om dialogrutan för sessionsegenskaper läggs till med den inloggade indikatorn eller inte. Se skärmdumpen nedan:
Steg 6:
Vi måste lägga till användare, giltiga och ogiltiga användare. Tillämpa spindelattacker på båda och analysera resultaten.
Giltig användare:
Ogiltig användare:
Steg 7:
Som standard anger du sessionhanteringen som en cookie-baserad metod.
Steg 8:
Spider URL-attack tillämpas på ogiltiga och giltiga användare och granskar resultat / genererar rapporter.
hur man lägger till ett heltal i en array i java
Ogiltig vy för användarspindelattack 1:
Här tillämpas en spindel-URL-attack på den ogiltiga användaren. I ZAP-gränssnittet kan vi se Get: login.php (error _message), vilket innebär att autentisering misslyckades. Det skickar inte heller webbadresserna genom inre TMF-sidor.
Steg 9:
För att tillämpa spindel-URL-attack för den giltiga användaren, gå till webbplatslistan -> attack -> spindel-URL -> befintlig giltig användare -> här är den aktiverad som standard -> starta skanning.
Analysera resultat: Eftersom det är en giltig autentiserad användare kommer den att navigera genom alla inre sidor och visa autentiseringsstatus som framgångsrik. Se skärmdump nedan.
Giltig användare
ZAP Html-rapportprov
När en aktiv skanning är klar kan vi skapa en HTML-rapport för samma. För detta väljer du Rapport -> Skapa HTML-rapport. Jag har bifogat ett exempel på HTML-rapporter. Här genereras rapporter om höga, medelstora och låga varningar.
Varningar
Slutsats
I denna handledning har vi sett vad ZAP är, hur ZAP fungerar, installation och ZAP-proxyinställning. Olika typer av aktiva skanningsprocesser, en demo av ZAP-autentisering, session- och användarhantering och grundläggande terminologier. I min nästa handledning kommer jag att förklara om Ajax spindelattack, användning av fuzzers, Tvingade webbplatser.
Och om du har använt Zed attack proxy och har några intressanta tips att dela, dela i kommentarerna nedan.
Referenser:
Rekommenderad läsning
- PractiTest Test Management Tool Praktisk handledning för granskning
- TestLodge Test Management Tool Review
- TestComplete Tutorial: En omfattande GUI-testverktygsguide för nybörjare
- Backlog Bug Tracking Tool Hands-on Review Tutorial
- Bugzilla Tutorial: Defect Management Tool Praktisk handledning
- Hur man testar webbplatsens prestanda med hjälp av SmartMeter.io-verktyget: Handledning för översyn av granskning
- Handledning för testning av WAVE-tillgänglighetsverktyg
- Praktisk granskning av qTest Test Management Tool