owasp zap tutorial comprehensive review owasp zap tool
Acest tutorial explică ce este OWASP ZAP, cum funcționează, cum se instalează și se configurează proxy ZAP. Include, de asemenea, Demo de autentificare ZAP și gestionarea utilizatorilor:
De ce să folosiți ZAP pentru testarea stiloului?
Pentru a dezvolta o aplicație web sigură, trebuie să știți cum vor fi atacate. Aici, vine cerința pentru securitatea aplicațiilor web sau Testarea penetrării.
Din motive de securitate, companiile folosesc instrumente cu plată, dar OWASP ZAP este o alternativă open-source excelentă care facilitează testarea penetrării testerilor.
Ce veți învăța:
- Ce este OWASP ZAP?
- Cum funcționează ZAP?
- Autentificare ZAP, sesiune și gestionarea utilizatorilor
- Exemplu de raport ZAP Html
- Concluzie
Ce este OWASP ZAP?
Testarea penetrării ajută la găsirea vulnerabilităților înainte ca un atacator să o facă. OSWAP ZAP este un instrument open-source gratuit și este utilizat pentru a efectua teste de penetrare. Scopul principal al Zap este de a permite testarea ușoară a penetrării pentru a găsi vulnerabilitățile în aplicațiile web.
Avantajele ZAP:
- Zap oferă mai multe platforme, adică funcționează pe toate sistemele de operare (Linux, Mac, Windows)
- Zap este reutilizabil
- Poate genera rapoarte
- Ideal pentru începători
- Instrument gratuit
Cum funcționează ZAP?
ZAP creează un server proxy și face ca traficul site-ului web să treacă prin server. Utilizarea scanerelor automate în ZAP ajută la interceptarea vulnerabilităților de pe site.
Consultați această diagramă pentru o mai bună înțelegere:
cum se adaugă un element într-o matrice în java
Terminologii ZAP
Înainte de a configura configurarea ZAP, permiteți-ne să înțelegem câteva terminologii ZAP:
# 1) Sesiune : Sesiunea înseamnă pur și simplu să navigați prin site-ul web pentru a identifica zona de atac. În acest scop, orice browser, cum ar fi Mozilla Firefox, poate fi utilizat prin schimbarea setărilor proxy. Sau altfel putem salva sesiunea zap ca sesiune și putem fi reutilizate.
# 2) Context: Înseamnă o aplicație web sau un set de adrese URL împreună. Contextul creat în ZAP îl va ataca pe cel specificat și va ignora restul, pentru a evita prea multe date.
# 3) Tipuri de atacuri ZAP: Puteți genera un raport de vulnerabilitate utilizând diferite tipuri de atac ZAP lovind și scanând adresa URL.
Scanare activă: Putem efectua o scanare activă folosind Zap în mai multe moduri. Prima opțiune este Pornire rapidă, care este prezent pe pagina de întâmpinare a instrumentului ZAP. Vă rugăm să consultați captura de ecran de mai jos:
Pornire rapidă 1
Captura de ecran de mai sus arată cea mai rapidă modalitate de a începe cu ZAP. Introduceți adresa URL sub fila Start rapid, apăsați butonul Atac, apoi începe progresul.
Pornirea rapidă rulează păianjenul pe adresa URL specificată și apoi rulează scanerul activ. Un păianjen accesează cu crawlere pe toate paginile începând de la adresa URL specificată. Pentru a fi mai precis, pagina Quickstart este ca „indică și trage”.
Pornire rapidă 2
Aici, după setarea adresei URL țintă, începe atacul. Puteți vedea starea de progres ca spidering URL-ul pentru a descoperi conținut. Putem opri manual atacul dacă durează prea mult timp.
O altă opțiune pentru Scanare activă este că putem accesa adresa URL din browserul proxy ZAP, deoarece Zap îl va detecta automat. La clic dreapta pe URL -> Scanarea activă va fi lansată. După finalizarea accesării cu crawlere, va începe scanarea activă.
Progresul atacului va fi afișat în fila Scanare activă. iar fila Spider va afișa adresa URL a listei cu scenarii de atac. După finalizarea scanării active, rezultatele vor fi afișate în fila Alerte.
Vă rugăm să verificați captura de ecran de mai jos a Scanare activă 1 și Scanare activă 2 pentru înțelegere clară.
Scanare activă 1
Scanare activă 2
# 4) Păianjen: Spider identifică adresa URL din site, verifică dacă există hyperlinkuri și o adaugă la listă.
# 5) Ajax Spider: În cazul în care aplicația noastră folosește intens JavaScript, alegeți AJAX spider pentru explorarea aplicației.Voi explica Păianjen Ajax în detaliu în următorul meu tutorial.
# 6) Alerte : Vulnerabilitățile site-ului web sunt semnalate ca alerte ridicate, medii și scăzute.
Instalare ZAP
Acum, vom înțelege configurarea instalării ZAP. Mai întâi, descărcați fișierul Instalați Zap . În timp ce folosesc Windows 10, am descărcat programul de instalare Windows 64 biți în consecință.
Cerințe prealabile pentru instalarea Zap: Este necesar Java 7. Dacă nu aveți java instalat în sistemul dvs., obțineți-l mai întâi. Apoi putem lansa ZAP.
Configurați browserul ZAP
Mai întâi, închideți toate sesiunile Firefox active.
Lansați instrumentul Zap >> accesați meniul Instrumente >> selectați opțiunile >> selectați Proxy local >> acolo putem vedea adresa ca localhost (127.0.0.1) și portul ca 8080, putem schimba în alt port dacă este deja utilizat, să spun că mă schimb la 8099. Vă rugăm să verificați captura de ecran de mai jos:
Proxy local în Zap 1
Acum, deschideți Mozilla Firefox >> selectați opțiunile >> fila avans >> în care selectați Rețea >> Setări conexiune >> selectați opțiunea Configurare proxy manuală. Utilizați același port ca în instrumentul Zap. Am schimbat manual la 8099 în ZAP și am folosit același lucru în browserul Firefox. Verificați mai jos captura de ecran a configurației Firefox configurată ca browser proxy.
Configurare proxy Firefox 1
Încercați să vă conectați aplicația utilizând browserul. Aici, am încercat să mă conectez Facebook și spune că conexiunea dvs. nu este sigură. Deci, trebuie să adăugați o excepție și apoi să confirmați Excepția de securitate pentru a naviga la pagina Facebook. Vă rugăm să consultați capturile de ecran de mai jos:
Accesați pagina web -proxy browser 1
Accesați pagina web -proxy browser 2
Accesați pagina web -proxy browser 3
În același timp, sub fila Site-uri Zap, verificați noua sesiune creată pentru pagina de Facebook. După ce v-ați conectat cu succes aplicația, puteți vedea mai multe linii în fila istoric a ZAP.
Zap oferă în mod normal funcționalități suplimentare care pot fi accesate prin meniuri cu clic dreapta cum ar fi,
Faceți clic dreapta pe >> HTML >> scanare activă, apoi zap va efectua scanarea activă și va afișa rezultatele.
Dacă nu vă puteți conecta aplicația utilizând browserul, verificați din nou setările proxy. Va trebui să verificați atât setările pentru browser cât și pentru proxy-ul ZAP.
Generarea de rapoarte în ZAP
Odată ce scanarea activă este finalizată, putem genera rapoarte. Pentru aceasta faceți clic pe OWASP ZAP >> Raport >> generați rapoarte HTML >> calea fișierului furnizată >> raport de scanare exportat. Trebuie să examinăm rapoartele pentru a identifica toate amenințările posibile și să le reparăm.
Autentificare ZAP, sesiune și gestionarea utilizatorilor
Să trecem la o altă caracteristică Zap, gestionând autentificarea, sesiunea și gestionarea utilizatorilor. Vă rog să-mi spuneți orice întrebare care vă vine în minte în legătură cu aceasta sub formă de comentarii.
Noțiuni de bază
- Context : Reprezintă o aplicație web sau un set de adrese URL împreună. Pentru un context dat, se adaugă file noi pentru a personaliza și configura procesul de autentificare și de gestionare a sesiunii. Opțiunile sunt disponibile în dialogul cu proprietățile sesiunii. Adică dialogul cu proprietățile sesiunii -> Context -> puteți folosi opțiunea implicită sau puteți adăuga un nou nume de context.
- Metoda de gestionare a sesiunii: Există 2 tipuri de metode de gestionare a sesiunii. În cea mai mare parte, este utilizată gestionarea sesiunii bazată pe cookie, asociată cu contextul.
- Metoda de autentificare: Există în principal 3 tipuri de metode Auth utilizate de ZAP:
- Metodă de autentificare bazată pe formular
- Autentificare manuală
- Autentificare HTTP
- Gestionarea utilizatorilor: Odată ce schema de autentificare a fost configurată, un set de utilizatori poate fi definit pentru fiecare context. Acești utilizatori sunt folosiți pentru diverse acțiuni ( De exemplu, URL-ul Spider / Context ca utilizator Y, trimiteți toate cererile ca utilizator X). În curând, vor fi furnizate mai multe acțiuni care să utilizeze utilizatorii.
O extensie „Utilizator forțat” este implementată pentru a înlocui vechea extensie de autentificare care efectua re-autentificarea. Un mod „Utilizator forțat” este acum disponibil prin bara de instrumente (aceeași pictogramă ca vechea extensie de autentificare).
După ce ați setat un utilizator ca „Utilizator forțat” pentru un anumit context sau când este activat, fiecare cerere trimisă prin ZAP este modificată automat, astfel încât să fie trimisă pentru acest utilizator. Acest mod efectuează, de asemenea, re-autentificare în mod automat (mai ales în combinație cu autentificarea bazată pe formular) dacă există o lipsă de autentificare, este detectat „deconectat”.
Să vedem o demonstrație:
Pasul 1:
Mai întâi, lansați ZAP și accesați adresa URL în browserul proxy. Aici, am luat exemplul URL ca https://tmf-uat.iptquote.com/login.php . Faceți clic pe Avansat -> adăugați excepție -> confirmați excepția de securitate ca la paginile 6 și 7. Apoi se afișează pagina de destinație. În același timp, ZAP încarcă automat pagina Web sub Site-uri ca o nouă sesiune. Consultați imaginea de mai jos.
Pasul 2:
Includeți-l într-un context. Acest lucru se poate face fie prin includerea acestuia într-un context implicit, fie prin adăugarea acestuia ca context nou. Consultați imaginea de mai jos.
Pasul 3:
Acum, urmează metoda de autentificare. Puteți vedea autentificarea în propriul dialog al proprietăților sesiunii. Aici folosim metoda Auth bazată pe formular.
Ar trebui să fie ca authMethodParams ca ' Url de conectare = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
În exemplul nostru, trebuie să setăm metoda de autentificare pe bază de formular. Pentru aceasta, selectați adresa URL țintă, câmpul de date de postare a cererii de autentificare este pre-completat, după care modificați parametrul ca nume de utilizator și parolă -> faceți clic pe ok .
Pasul 4:
Acum, setați indicatori care vor spune ZAP când este autentificat.
Indicatori conectați și deconectați:
- Este necesar doar unul
- Putem seta modele Regex potrivite în mesajul de răspuns, trebuie să setăm fie indicatorul conectat, fie deconectarea.
- Identificați când un răspuns este autentificat sau când nu.
- Exemplu pentru indicatorul conectat: Qhttp: // exemplu / deconectare E sau Welcome User. *
- Exemplu de indicator deconectat: login.jsp sau ceva de genul acesta.
Aici, în aplicația noastră demonstrativă, am accesat adresa URL într-un browser proxy. Conectat la aplicație folosind o acreditare validă, numele de utilizator ca superadmin și parola ca primo868. Navigați prin paginile interioare și faceți clic pe deconectare
Puteți vedea în captura de ecran a pasului 3, Zap ia datele cererii de conectare ca fiind utilizate pentru autentificarea aplicației TMF (Conectare aplicație demonstrativă).
Semnalizați modelul Regex conectat din răspunsul ZAP ca răspuns -> răspuns deconectat -> semnalizați-l ca fiind conectat în indicator. A se referi la captura de ecran de mai jos
Pasul 5:
Putem salva indicatorul și putem verifica dacă dialogul cu proprietățile sesiunii se adaugă sau nu cu indicatorul conectat. Consultați captura de ecran de mai jos:
Pasul 6:
Trebuie să adăugăm utilizatori, utilizatori valizi și invalizi. Aplicați atacuri de păianjen la ambele și analizați rezultatele.
Utilizator valid:
Utilizator incorect:
Pasul 7:
În mod implicit, setați gestionarea sesiunii ca metodă bazată pe cookie.
Pasul 8:
Atacul URL Spider este aplicat utilizatorilor invalizi și valizi și revizuiește rezultatele / generează rapoarte.
Vizualizarea 1 nevalidă a atacului păianjen:
Aici, un atac URL păianjen este aplicat utilizatorului nevalid. În interfața ZAP, putem vedea Get: login.php (error _message), ceea ce înseamnă că autentificarea a eșuat. De asemenea, nu transmite adresele URL prin paginile interioare TMF.
Pasul 9:
Pentru a aplica atacul URL spider pentru utilizatorul valid, accesați lista de site-uri -> atac -> URL spider -> utilizator valid existent -> aici este activat în mod implicit -> începe scanarea.
Analizați rezultatele: deoarece este un utilizator autentificat valid, va naviga prin toate paginile interioare și va afișa starea de autentificare ca fiind de succes. Consultați mai jos captura de ecran.
Utilizator valid
Exemplu de raport ZAP Html
Odată finalizată o scanare activă, putem genera un raport HTML pentru același lucru. Pentru aceasta, selectați Raport -> Generați raport HTML. Am atașat un eșantion de conținut de rapoarte HTML. Aici vor fi generate rapoarte de alerte ridicate, medii și scăzute.
Alerte
Concluzie
În acest tutorial, am văzut ce este ZAP, cum funcționează ZAP, instalare și configurare proxy ZAP. Diferite tipuri de procese de scanare activă, o demonstrație de autentificare ZAP, sesiune și gestionarea utilizatorilor și terminologii de bază. În următorul meu tutorial, vă voi explica despre atacul păianjenului Ajax, utilizarea fuzzer-urilor, site-urile forțate.
cel mai bun google chrome pop-blocker
Și dacă ați folosit proxy de atac Zed și aveți câteva sfaturi interesante de împărtășit, împărtășiți în comentariile de mai jos.
Referințe:
Lectură recomandată
- Instrument de gestionare a testului PractiTest Tutorial de examinare practică
- Revizuirea instrumentului de testare TestLodge
- Tutorial TestComplete: un ghid complet al instrumentului de testare GUI pentru începători
- Tutorial de examinare a instrumentului de urmărire a erorilor
- Tutorial Bugzilla: Tutorial practic pentru instrumentul de gestionare a defectelor
- Cum să testați performanța site-ului web folosind instrumentul SmartMeter.io: Tutorial de examinare practică
- Tutorial WAVE Accessibility Testing Tool
- Revizuirea practică a instrumentului de gestionare a testelor qTest