owasp zap tutorial comprehensive review owasp zap tool
Denne vejledning forklarer, hvad der er OWASP ZAP, hvordan fungerer det, hvordan man installerer og opsætter ZAP Proxy. Omfatter også demo af ZAP-godkendelse og brugeradministration:
Hvorfor bruge ZAP til pen-test?
For at udvikle en sikker webapplikation skal man vide, hvordan de vil blive angrebet. Her kommer kravet til sikkerhed for webapps eller penetrationstest.
Af sikkerhedsmæssige årsager bruger virksomheder betalte værktøjer, men OWASP ZAP er et fantastisk open source-alternativ, der gør Penetration Testing lettere for testere.
Hvad du lærer:
- Hvad er OWASP ZAP?
- Hvordan fungerer ZAP?
- ZAP-godkendelse, session og brugerstyring
- ZAP HTML-rapporteksempel
- Konklusion
Hvad er OWASP ZAP?
Penetrationstest hjælper med at finde sårbarheder, før en angriber gør det. OSWAP ZAP er et open source-gratis værktøj og bruges til at udføre penetrationstest. Hovedmålet med Zap er at tillade let penetrationstest for at finde sårbarhederne i webapplikationer.
ZAP fordele:
- Zap leverer cross-platform, dvs. det fungerer på tværs af alle operativsystemer (Linux, Mac, Windows)
- Zap kan genbruges
- Kan generere rapporter
- Ideel til begyndere
- Gratis værktøj
Hvordan fungerer ZAP?
ZAP opretter en proxyserver og får websitetrafikken til at passere gennem serveren. Brug af autoscannere i ZAP hjælper med at opfange sårbarhederne på hjemmesiden.
Se dette rutediagram for en bedre forståelse:
hvordan man bruger java til at åbne en jar-fil
ZAP-terminologier
Før vi konfigurerer ZAP-opsætning, lad os forstå nogle ZAP-terminologier:
# 1) Session : Session betyder simpelthen at navigere gennem hjemmesiden for at identificere angrebsområdet. Til dette formål kan enhver browser som Mozilla Firefox bruges ved at ændre dens proxyindstillinger. Ellers kan vi gemme zap-session som .session og kan genbruges.
# 2) Kontekst: Det betyder en webapplikation eller et sæt URL'er sammen. Konteksten oprettet i ZAP vil angribe den angivne og ignorere resten for at undgå for meget data.
# 3) Typer af ZAP-angreb: Du kan generere en sårbarhedsrapport ved hjælp af forskellige ZAP-angrebstyper ved at trykke og scanne URL'en.
Aktiv scanning: Vi kan udføre en aktiv scanning ved hjælp af Zap på mange måder. Den første mulighed er Hurtig start, som findes på ZAP-værktøjets velkomstside. Se nedenstående skærmbillede:
Hurtig start 1
Ovenstående skærmbillede viser den hurtigste måde at komme i gang med ZAP. Indtast URL'en under fanen Hurtig start, tryk på Attack-knappen, og derefter starter fremskridt.
Quick Start kører edderkoppen på den angivne URL og kører derefter den aktive scanner. En edderkop gennemsøger alle siderne fra den angivne URL. For at være mere præcis er Quickstart-siden som 'peg og skyd'.
Hurtig start 2
Her, når du angiver mål-URL'en, starter angrebet. Du kan se status Status som spidering af URL'en for at finde indhold. Vi kan manuelt stoppe angrebet, hvis det tager for meget tid.
En anden mulighed for Aktiv scanning er, at vi kan få adgang til URL'en i ZAP proxy-browseren, da Zap automatisk registrerer den. Ved højreklik på URL'en -> Aktiv scanning starter. Når gennemgangen er afsluttet, starter den aktive scanning.
Angrebsfremskridt vises i fanen Aktiv scanning. og fanen Spider viser listen URL med angrebsscenarier. Når den aktive scanning er afsluttet, vises resultaterne under fanen Alarmer.
Kontroller nedenstående skærmbillede af Aktiv scanning 1 og Aktiv scanning 2 for klar forståelse.
Aktiv scanning 1
Aktiv scanning 2
# 4) edderkop: Spider identificerer URL'en på webstedet, kontroller for hyperlinks og tilføj den til listen.
# 5) Ajax Spider: I det tilfælde hvor vores applikation bruger JavaScript meget, skal du gå til AJAX-edderkop for at udforske appen.Jeg vil forklare Ajax edderkop detaljeret i min næste tutorial.
# 6) Advarsler : Websteds sårbarheder markeres som høje, mellemstore og lave alarmer.
ZAP-installation
Nu vil vi forstå ZAP-installationsopsætningen. Først skal du downloade Zap-installation . Da jeg bruger Windows 10, har jeg downloadet Windows 64 bit installationsprogram i overensstemmelse hermed.
Forudsætninger for Zap-installation: Java 7 er påkrævet. Hvis du ikke har java installeret i dit system, skal du hente det først. Så kan vi starte ZAP.
Opsæt ZAP-browser
Luk først alle aktive Firefox-sessioner.
Start Zap-værktøj >> gå til menuen Funktioner >> vælg indstillinger >> vælg lokal proxy >> der kan vi se adressen som localhost (127.0.0.1) og port som 8080, vi kan skifte til anden port, hvis den allerede bruger, sig, at jeg skifter til 8099. Tjek skærmbilledet nedenfor:
Lokal proxy i Zap 1
Åbn nu Mozilla Firefox >> vælg indstillinger >> fanebladet fremad >> ved at vælge Netværk >> Forbindelsesindstillinger >> vælg indstilling Manuel proxy-konfiguration. Brug den samme port som i Zap-værktøjet. Jeg har manuelt ændret til 8099 i ZAP og brugt det samme i Firefox-browseren. Tjek nedenstående skærmbillede af Firefox-konfigurationen, der er konfigureret som en proxy-browser.
Firefox proxy-opsætning 1
Prøv at oprette forbindelse til din applikation ved hjælp af din browser. Her har jeg forsøgt at oprette forbindelse Facebook og der står, at din forbindelse ikke er sikker. Så du skal tilføje en undtagelse og derefter bekræfte sikkerhedsundtagelse for at navigere til Facebook-siden. Se skærmbillederne nedenfor:
Adgang til webside -proxy-browser 1
Adgang til webside -proxy-browser 2
Adgang til webside -proxy-browser 3
Kontroller samtidig den oprettede nye session på Facebook-siden under fanen Zaps websteder. Når du har oprettet forbindelse til din applikation, kan du se flere linjer i historikfanen i ZAP.
Zap leverer normalt yderligere funktionalitet, der kan tilgås ved at højreklikke på menuer som f.eks.
Højreklik >> HTML >> aktiv scanning, så udfører zap aktive scannings- og visningsresultater.
Hvis du ikke kan oprette forbindelse til din applikation ved hjælp af browseren, skal du kontrollere dine proxyindstillinger igen. Du skal kontrollere både browser- og ZAP-proxyindstillinger.
Generering af rapporter i ZAP
Når den aktive scanning er udført, kan vi generere rapporter. For det klik klik OWASP ZAP >> Rapport >> generer HTML-rapporter >> leveret filsti >> eksporteret scanningsrapport. Vi er nødt til at undersøge rapporterne for at identificere alle mulige trusler og få dem rettet.
ZAP-godkendelse, session og brugerstyring
Lad os gå videre til en anden Zap-funktion, der håndterer godkendelse, session og brugeradministration. Fortæl mig venligst enhver forespørgsel, der kommer i dit sind relateret til dette som kommentarer.
Basale koncepter
- Sammenhæng : Det repræsenterer en webapplikation eller et sæt URL'er sammen. For en given kontekst tilføjes nye faner for at tilpasse og konfigurere godkendelses- og sessionsstyringsprocessen. Indstillingerne er tilgængelige i dialogboksen med sessionsegenskaber. Dvs. dialogboksen Sessionsegenskaber -> Kontekst -> du kan enten bruge standardindstillingen eller tilføje et nyt kontekstnavn.
- Sessionsstyringsmetode: Der er to typer sessionstyringsmetoder. For det meste bruges cookie-baseret session management, der er knyttet til konteksten.
- Godkendelsesmetode: Der er hovedsageligt 3 typer godkendelsesmetoder, der bruges af ZAP:
- Formbaseret godkendelsesmetode
- Manuel godkendelse
- HTTP-godkendelse
- Brugeradministration: Når godkendelsesplanen er konfigureret, kan der defineres et sæt brugere for hver kontekst. Disse brugere bruges til forskellige handlinger ( For eksempel, Spider URL / Context som bruger Y, send alle anmodninger som bruger X). Snart vil der blive leveret flere handlinger, der gør brug af brugerne.
En 'Forced-User' -udvidelse er implementeret til at erstatte den gamle godkendelsesudvidelse, der udførte re-godkendelse. En 'Tvungen bruger' -tilstand er nu tilgængelig via værktøjslinjen (det samme ikon som den gamle godkendelsesudvidelse).
Efter at have indstillet en bruger som 'Tvungen bruger' for en given kontekst, eller når den er aktiveret, ændres hver anmodning sendt via ZAP automatisk, så den sendes til denne bruger. Denne tilstand udfører også automatisk re-godkendelse (især i forbindelse med den formbaserede godkendelse), hvis der mangler godkendelse, registreres 'logget ud'.
Lad os se en demo:
Trin 1:
Start først ZAP og få adgang til URL'en i proxy-browseren. Her har jeg taget prøve-URL'en som https://tmf-uat.iptquote.com/login.php . Klik på Avanceret -> tilføj undtagelse -> bekræft sikkerhedsundtagelse som på side 6 og 7. Herefter vises destinationssiden. Samtidig indlæser ZAP automatisk websiden under Sites som en ny session. Se nedenstående billede.
Trin 2:
Inkluder det i en sammenhæng. Dette kan gøres enten ved at inkludere det i en standardkontekst eller tilføje det som en ny kontekst. Se nedenstående billede.
Trin 3:
Nu er næste godkendelsesmetoden. Du kan se Godkendelse i selve dialogboksen med sessionsegenskaber. Her bruger vi den formbaserede godkendelsesmetode.
Det skal være som authMethodParams som ' login Url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
I vores eksempel er vi nødt til at indstille godkendelsesmetoden som formbaseret. Til dette skal du vælge mål-URL, login-anmodningsindlægsdatafelt bliver forudfyldt, derefter skift parameter som brugernavn og adgangskode -> klik ok .
Trin 4:
Indstil nu indikatorer, der fortæller ZAP, når det er godkendt.
Indloggede og afloggede indikatorer:
- Kun en er nødvendig
- Vi kan indstille Regex-mønstre, der matches i svarmeddelelsen, skal indstille enten logget på eller logge ud indikator.
- Identificer, hvornår et svar er godkendt, eller når ikke.
- Eksempel på logget på indikator: Qhttp: // eksempel / logout E eller velkomstbruger. *
- Eksempel på udlogget indikator: login.jsp eller noget lignende.
Her i vores demo-applikation har jeg åbnet URL'en i en proxy-browser. Logget ind på applikationen ved hjælp af en gyldig legitimationsoplysninger, Brugernavn som superadmin & Adgangskode som primo868. Naviger gennem de indre sider og klik på logout
Du kan se i skærmbillede i trin 3, Zap tager data om loginanmodning som en, der bruges til TMF-applikationslogin (Demo-applikationslogin).
Flag logget på Regex-mønster fra svaret fra ZAP som svar -> logget ud svar -> flag det som logget i indikatoren. Henvise til skærmbilledet nedenfor
Trin 5:
Vi kan gemme indikatoren og kontrollere, om dialogboksen med egenskabsegenskaber tilføjes med den loggede indikator eller ej. Se skærmbilledet nedenfor:
Trin 6:
Vi er nødt til at tilføje brugere, gyldige og ugyldige brugere. Anvend edderkopangreb på begge og analyser resultaterne.
Gyldig bruger:
Ugyldig bruger:
Trin 7:
Som standard indstilles sessionadministrationen som en cookie-baseret metode.
Trin 8:
Spider URL-angreb anvendes på ugyldige og gyldige brugere og gennemgår resultater / genererer rapporter.
Ugyldig visning af brugerspindeangreb 1:
Her anvendes et spider URL-angreb på den ugyldige bruger. I ZAP-grænsefladen kan vi se Get: login.php (error _message), hvilket betyder, at godkendelse mislykkedes. Det sender heller ikke webadresserne gennem indre TMF-sider.
Trin 9:
For at anvende spider URL-angreb for den gyldige bruger skal du gå til listen over websteder -> angreb -> spider-URL -> eksisterende gyldig bruger -> her er det aktiveret som standard -> start scanning.
Analyser resultater: Da det er en gyldig godkendt bruger, navigerer den gennem alle indre sider og viser godkendelsesstatus som vellykket. Se skærmbillede nedenfor.
Gyldig bruger
ZAP HTML-rapporteksempel
Når en aktiv scanning er afsluttet, kan vi generere en HTML-rapport for det samme. Til dette skal du vælge Rapport -> Generer HTML-rapport. Jeg har vedhæftet et eksempel på indhold af HTML-rapporter. Her genereres rapporter om høje, mellem og lave alarmer.
Advarsler
Konklusion
I denne vejledning har vi set, hvad ZAP er, hvordan ZAP fungerer, installation og ZAP-proxyopsætning. Forskellige typer af aktive scanningsprocesser, en demo af ZAP-godkendelse, session- og brugeradministration og grundlæggende terminologier. I min næste vejledning vil jeg forklare om Ajax edderkopangreb, brug af fuzzers, tvungne browsede sider.
hvordan man genererer tilfældige tal i c ++ mellem 0 og 100
Og hvis du har brugt Zed-angrebsproxy og har nogle interessante tip til at dele, skal du dele i kommentarerne nedenfor.
Referencer:
Anbefalet læsning
- PractiTest Test Management Tool Praktisk gennemgangsvejledning
- TestLodge Test Management Tool Review
- TestComplete Tutorial: En omfattende GUI-testværktøjs guide til begyndere
- Backlog Bug Tracking Tool Praktisk vejledning til gennemgang
- Bugzilla Tutorial: Defect Management Tool Hands-on Tutorial
- Sådan tester du webstedsydelse ved hjælp af SmartMeter.io-værktøjet: Vejledning i praktisk gennemgang
- Vejledning til WAVE-tilgængelighedstestværktøj
- Praktisk gennemgang af qTest Test Management Tool