owasp zap tutorial comprehensive review owasp zap tool
Denne veiledningen forklarer hva som er OWASP ZAP, hvordan fungerer det, hvordan du installerer og setter opp ZAP Proxy. Inkluderer også demonstrasjon av ZAP-autentisering og brukeradministrasjon:
Hvorfor bruke ZAP til pennetesting?
For å utvikle en sikker webapplikasjon, må man vite hvordan de vil bli angrepet. Her kommer kravet til sikkerhet for webapper eller penetrasjonstesting.
Av sikkerhetshensyn bruker selskaper betalte verktøy, men OWASP ZAP er et flott alternativ med åpen kildekode som gjør penetrasjonstesting enklere for testere.
Hva du vil lære:
- Hva er OWASP ZAP?
- Hvordan fungerer ZAP?
- ZAP Authentication, Session And User Management
- ZAP HTML-rapporteksempel
- Konklusjon
Hva er OWASP ZAP?
Penetrasjonstesting hjelper med å finne sårbarheter før en angriper gjør det. OSWAP ZAP er et gratis kildekodeverktøy og brukes til å utføre penetrasjonstester. Hovedmålet med Zap er å tillate enkel penetrasjonstesting for å finne sårbarhetene i webapplikasjoner.
ZAP fordeler:
- Zap gir plattform, det vil si at den fungerer på tvers av alle operativsystemer (Linux, Mac, Windows)
- Zap er gjenbrukbar
- Kan generere rapporter
- Ideell for nybegynnere
- Gratis verktøy
Hvordan fungerer ZAP?
ZAP oppretter en proxy-server og får trafikken til nettstedet til å passere gjennom serveren. Bruk av bilskannere i ZAP hjelper til med å fange opp sårbarhetene på nettstedet.
Se dette flytskjemaet for bedre forståelse:
c vs c ++ syntaks
ZAP-terminologier
Før vi konfigurerer ZAP-oppsett, la oss forstå noen ZAP-terminologier:
# 1) Økt : Session betyr ganske enkelt å navigere gjennom nettstedet for å identifisere angrepsområdet. For dette formålet kan enhver nettleser som Mozilla Firefox brukes ved å endre proxy-innstillingene. Ellers kan vi lagre zap-økt som .session og kan brukes på nytt.
# 2) Kontekst: Det betyr en webapplikasjon eller et sett med nettadresser sammen. Konteksten opprettet i ZAP vil angripe den spesifiserte og ignorere resten, for å unngå for mye data.
# 3) Typer av ZAP-angrep: Du kan generere en sårbarhetsrapport ved hjelp av forskjellige ZAP-angrepstyper ved å trykke og skanne URL-en.
Aktiv skanning: Vi kan utføre en aktiv skanning ved hjelp av Zap på mange måter. Det første alternativet er Kjapp start, som er til stede på velkomstsiden til ZAP-verktøyet. Se skjermbildet nedenfor:
Rask start 1
Skjermbildet ovenfor viser den raskeste måten å komme i gang med ZAP. Skriv inn URL-en under kategorien Hurtigstart, trykk på Attack-knappen, og deretter begynner fremdriften.
Hurtigstart kjører edderkoppen på den angitte URL-en, og kjører deretter den aktive skanneren. En edderkopp kryper på alle sidene med utgangspunkt i den angitte URL-en. For å være mer presis, er Quickstart-siden som 'pek og skyt'.
Rask start 2
Her, når angi mål-URL, starter angrepet. Du kan se fremdriftsstatusen som spidering av URL-en for å oppdage innhold. Vi kan stoppe angrepet manuelt hvis det tar for lang tid.
Et annet alternativ for Aktiv skanning er at vi får tilgang til URL-en i ZAP-proxy-nettleseren, ettersom Zap automatisk oppdager den. Ved høyreklikk på URL -> vil Active scan starte. Når gjennomsøking er fullført, starter den aktive skanningen.
Angrepsfremdrift vises i kategorien Aktiv skanning. og Spider-fanen viser listen URL med angrepsscenarier. Når den aktive skanningen er fullført, vises resultatene i kategorien Varsler.
Vennligst sjekk skjermbildet nedenfor av Aktiv skanning 1 og Aktiv skanning 2 for klar forståelse.
Aktiv skanning 1
Aktiv skanning 2
# 4) Edderkopp: Spider identifiserer URL-en på nettstedet, se etter hyperkoblinger og legg den til i listen.
# 5) Ajax Spider: I tilfelle applikasjonen vår bruker JavaScript mye, gå til AJAX edderkopp for å utforske appen.Jeg vil forklare Ajax edderkopp i detalj i min neste veiledning.
# 6) Varsler : Sårbarheter på nettstedet blir markert som høye, middels og lave varsler.
ZAP-installasjon
Nå vil vi forstå installasjonen av ZAP. Last ned først Zap install . Når jeg bruker Windows 10, har jeg lastet ned Windows 64 bit installasjonsprogram tilsvarende.
Forutsetninger for Zap-installasjon: Java 7 kreves. Hvis du ikke har java installert i systemet ditt, kan du få det først. Så kan vi starte ZAP.
Sett opp ZAP-nettleseren
Lukk først alle aktive Firefox-økter.
Start Zap-verktøy >> gå til Verktøy-menyen >> velg alternativer >> velg Lokal proxy >> der kan vi se adressen som localhost (127.0.0.1) og port som 8080, vi kan bytte til annen port hvis den allerede bruker, si at jeg bytter til 8099. Sjekk skjermbildet nedenfor:
Lokal fullmektig i Zap 1
Åpne nå Mozilla Firefox >> velg alternativer >> forhåndsfanen >> ved å velge Nettverk >> Tilkoblingsinnstillinger >> velg alternativet Manuell proxy-konfigurasjon. Bruk samme port som i Zap-verktøyet. Jeg har manuelt endret til 8099 i ZAP og brukt det samme i Firefox-nettleseren. Sjekk skjermbildet nedenfor av Firefox-konfigurasjonen som er konfigurert som en proxy-nettleser.
Firefox proxy-oppsett 1
Prøv å koble applikasjonen din ved hjelp av nettleseren din. Her har jeg prøvd å koble til Facebook og det står at forbindelsen din ikke er sikker. Så du må legge til et unntak, og deretter bekrefte sikkerhets unntak for å navigere til Facebook-siden. Se skjermbildene nedenfor:
Få tilgang til nettside-proxy-nettleser 1
Gå til nettsiden - proxy-nettleser 2
Gå til nettsiden - proxy-nettleser 3
Kontroller samtidig den opprettede nye økten for Facebook-siden under Zaps nettsteder-fane. Når du har koblet til applikasjonen, kan du se flere linjer i historikkfanen til ZAP.
Zap gir normalt tilleggsfunksjonalitet som er tilgjengelig via høyreklikkmenyer som,
Høyreklikk >> HTML >> aktiv skanning, så vil zap utføre aktive skannings- og visningsresultater.
Hvis du ikke kan koble til applikasjonen din via nettleseren, må du sjekke proxy-innstillingene på nytt. Du må sjekke både nettleser- og ZAP-proxy-innstillinger.
Genererer rapporter i ZAP
Når den aktive skanningen er fullført, kan vi generere rapporter. For det klikket OWASP ZAP >> Rapport >> generer HTML-rapporter >> filsti gitt >> skanne rapport eksportert. Vi må undersøke rapportene for å identifisere alle mulige trusler og få dem løst.
ZAP Authentication, Session And User Management
La oss gå videre til en annen Zap-funksjon, håndtere autentisering, økt og brukeradministrasjon. Gi meg beskjed om eventuelle spørsmål som du kommer inn i tankene dine knyttet til dette som kommentarer.
Enkle konsepter
- Kontekst : Det representerer et webapplikasjon eller sett med nettadresser sammen. For en gitt kontekst blir nye faner lagt til for å tilpasse og konfigurere godkjennings- og øktadministrasjonsprosessen. Alternativene er tilgjengelige i dialogboksen for sesjonsegenskaper. Ie Dialog for sesjonsegenskaper -> Kontekst -> du kan enten bruke standardalternativet eller legge til et nytt kontekstnavn.
- Øktstyringsmetode: Det er to typer øktstyringsmetoder. For det meste brukes informasjonskapselbasert øktadministrasjon assosiert med konteksten.
- Godkjenningsmetode: Det er hovedsakelig tre typer godkjenningsmetoder som brukes av ZAP:
- Skjemabasert godkjenningsmetode
- Manuell autentisering
- HTTP-godkjenning
- Brukeradministrasjon: Når godkjenningsskjemaet er konfigurert, kan et sett med brukere defineres for hver kontekst. Disse brukerne brukes til forskjellige handlinger ( For eksempel, Spider URL / Context som bruker Y, send alle forespørsler som bruker X). Snart vil det bli gitt flere handlinger som bruker brukerne.
En 'Forced-User' -utvidelse er implementert for å erstatte den gamle godkjenningsutvidelsen som utførte re-autentisering. En modus for tvungen bruker er nå tilgjengelig via verktøylinjen (det samme ikonet som den gamle godkjenningsutvidelsen).
Etter å ha angitt en bruker som 'tvangsbruker' for en gitt kontekst eller når den er aktivert, endres hver forespørsel som sendes via ZAP automatisk slik at den sendes for denne brukeren. Denne modusen utfører også automatisk autentisering (spesielt i forbindelse med den formbaserte autentiseringen) hvis det mangler autentisering, oppdages ‘logget ut’.
La oss se en demo:
Trinn 1:
Først starter du ZAP og får tilgang til URL-en i proxy-nettleseren. Her har jeg tatt eksemplet URL som https://tmf-uat.iptquote.com/login.php . Klikk på Avansert -> legg til unntak -> bekreft sikkerhets unntak som på side 6 og 7. Deretter vises destinasjonssiden. Samtidig laster ZAP automatisk websiden under nettsteder som en ny økt. Se bildet nedenfor.
Steg 2:
Ta det med i en sammenheng. Dette kan gjøres enten ved å inkludere det i en standardkontekst eller legge det til som en ny kontekst. Se bildet nedenfor.
Trinn 3:
Nå er neste godkjenningsmetoden. Du kan se Autentisering i selve dialogboksen for sesjonsegenskaper. Her bruker vi den skjemabaserte godkjenningsmetoden.
Det skal være som authMethodParams som ' påloggings url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
I vårt eksempel må vi sette autentiseringsmetoden som skjemabasert. For dette, velg mål-URL, innloggingsforespørsel etter datafelt blir forhåndsutfylt, etter det, endre parameter som brukernavn og passord -> klikk ok .
Trinn 4:
Sett nå indikatorer som vil fortelle ZAP når den er autentisert.
Innloggede og utloggede indikatorer:
- Bare en er nødvendig
- Vi kan stille inn Regex-mønstre som er matchet i svarmeldingen, vi må angi enten pålogget eller logg ut indikator.
- Identifiser når et svar er autentisert eller når ikke.
- Eksempel for pålogget indikator: Qhttp: // eksempel / avlogging E eller velkomstbruker. *
- Eksempel på utlogget indikator: login.jsp eller noe sånt.
Her, i demo-applikasjonen vår, har jeg fått tilgang til URL-en i en proxy-nettleser. Logget på applikasjonen med gyldig legitimasjon, brukernavn som superadministrator og passord som primo868. Naviger gjennom indre sider og klikk på avlogging
Du kan se i trinn 3 skjermbilde, Zap tar innloggingsforespørselsdataene som en som brukes for innlogging av TMF-applikasjonen (Demo application login).
Flagg innlogget Regex-mønster fra svaret fra ZAP som respons -> utlogget svar -> flagg det som logget i indikatoren. Referere til skjermbildet nedenfor
Trinn 5:
Vi kan lagre indikatoren og verifisere om dialogboksen for sesjonsegenskaper blir lagt til med den påloggede indikatoren eller ikke. Se skjermbildet nedenfor:
Trinn 6:
Vi må legge til brukere, gyldige og ugyldige brukere. Bruk edderkoppangrep på begge deler og analyser resultatene.
Gyldig bruker:
Ugyldig bruker:
Trinn 7:
Som standard angir øktadministrasjonen som en informasjonskapselbasert metode.
hvordan du legger til et heltall i en matrise i java
Trinn 8:
Spider URL-angrep brukes på ugyldige og gyldige brukere og gjennomgår resultater / genererer rapporter.
Ugyldig visnings 1 for brukerens edderkoppangrep:
Her brukes et angrep av edderkopp-URL på den ugyldige brukeren. I ZAP-grensesnittet kan vi se Get: login.php (error _message), noe som betyr at autentisering mislyktes. Dessuten sender den ikke nettadressene gjennom indre TMF-sider.
Trinn 9:
For å bruke spider URL-angrep for den gyldige brukeren, gå til listen over nettsteder -> angrep -> edderkopp-URL -> eksisterende gyldig bruker -> her er den aktivert som standard -> start skanning.
Analyser resultatene: Siden det er en gyldig godkjent bruker, vil den navigere gjennom alle indre sider og vise godkjenningsstatus som vellykket. Se skjermbilde nedenfor.
Gyldig bruker
ZAP HTML-rapporteksempel
Når en aktiv skanning er fullført, kan vi generere en HTML-rapport for det samme. For dette velger du Rapport -> Generer HTML-rapport. Jeg har lagt ved et eksempel på HTML-rapporter. Her genereres rapporter for høye, middels og lave varsler.
Varsler
Konklusjon
I denne veiledningen har vi sett hva ZAP er, hvordan ZAP fungerer, installasjon og ZAP proxy-oppsett. Ulike typer aktive skanneprosesser, en demo av ZAP-autentisering, økt- og brukeradministrasjon og grunnleggende terminologier. I min neste veiledning vil jeg forklare om Ajax edderkoppangrep, bruk av fuzzers, tvungne nettsteder.
Og hvis du har brukt Zed angrep proxy og har noen interessante tips å dele, kan du dele i kommentarene nedenfor.
Referanser:
Anbefalt lesing
- PractiTest Test Management Tool Praktisk gjennomgangsveiledning
- TestLodge Test Management Tool Review
- TestComplete Tutorial: En omfattende GUI-testverktøyveiledning for nybegynnere
- Backlog Bug Tracking Tool Praktisk gjennomgangsveiledning
- Bugzilla Tutorial: Defect Management Tool Hands-on Tutorial
- Hvordan teste nettstedets ytelse ved hjelp av SmartMeter.io-verktøyet: praktisk gjennomgangsveiledning
- Veiledning for WAVE tilgjengelighetstestverktøy
- Praktisk gjennomgang av qTest Test Management Tool