owasp zap tutorial comprehensive review owasp zap tool
Ovaj vodič objašnjava što je OWASP ZAP, kako to radi, kako instalirati i postaviti ZAP proxy. Uključuje i demonstraciju ZAP provjere autentičnosti i upravljanja korisnicima:
Zašto koristiti ZAP za testiranje olovkom?
Da biste razvili sigurnu web aplikaciju, morate znati kako će biti napadnuti. Ovdje dolazi zahtjev za sigurnošću web testiranja ili ispitivanjem prodiranja.
U sigurnosne svrhe tvrtke koriste plaćene alate, ali OWASP ZAP izvrsna je alternativa otvorenog koda koja ispitnicima olakšava prodiranje u ispitivanje.
Što ćete naučiti:
- Što je OWASP ZAP?
- Kako ZAP djeluje?
- ZAP provjera autentičnosti, sesija i upravljanje korisnicima
- Uzorak izvješća ZAP Html
- Zaključak
Što je OWASP ZAP?
Testiranje prodiranja pomaže u pronalaženju ranjivosti prije nego što to učini napadač. OSWAP ZAP je besplatni alat otvorenog koda i koristi se za izvođenje testova penetracije. Glavni cilj Zapa je omogućiti lako testiranje penetracije radi pronalaženja ranjivosti u web aplikacijama.
ZAP prednosti:
- Zap nudi više platformi, tj. Radi na svim OS-ima (Linux, Mac, Windows)
- Zap je za višekratnu upotrebu
- Može generirati izvješća
- Idealno za početnike
- Besplatan alat
Kako ZAP djeluje?
ZAP stvara proxy poslužitelj i omogućuje promet web stranice da prolazi kroz poslužitelj. Korištenje automatskih skenera u ZAP-u pomaže u presretanju ranjivosti na web mjestu.
Pogledajte ovaj dijagram toka radi boljeg razumijevanja:
koliko možete zaraditi na testiranju korisnika
ZAP terminologije
Prije konfiguriranja postavljanja ZAP-a, shvatimo neke ZAP terminologije:
# 1) Sjednica : Sesija jednostavno znači kretati se web stranicom da biste identificirali područje napada. U tu se svrhu može koristiti bilo koji preglednik poput Mozille Firefox promjenom postavki proxyja. Inače možemo zapamtiti sesiju zap. Kao .session i možemo je ponovno upotrijebiti.
# 2) Kontekst: To znači web aplikacija ili skup URL-ova zajedno. Kontekst stvoren u ZAP-u napasti će navedenu i zanemariti ostatak, kako bi se izbjeglo previše podataka.
# 3) Vrste ZAP napada: Izvješće o ranjivosti možete generirati pomoću različitih vrsta ZAP napada pritiskajući i skenirajući URL.
Aktivno skeniranje: Aktivno skeniranje možemo izvršiti pomoću Zapa na više načina. Prva opcija je Brzi početak, koja je prisutna na stranici dobrodošlice alata ZAP. Pogledajte donji snimak zaslona:
Brzi početak 1
Gornja snimka zaslona prikazuje najbrži način da započnete sa ZAP-om. Unesite URL pod karticu Quick Start, pritisnite gumb Attack i napredak započinje.
Quick Start pokreće pauka na navedenom URL-u, a zatim pokreće aktivni skener. Pauk puzi na svim stranicama počevši od navedenog URL-a. Točnije, Quickstart stranica je poput 'usmjeri i pucaj'.
Brzi početak 2
Ovdje, nakon postavljanja ciljanog URL-a, napad započinje. Status Progress možete vidjeti kao spidering URL-a radi otkrivanja sadržaja. Možemo ručno zaustaviti napad ako vam oduzima previše vremena.
Druga mogućnost za Aktivno skeniranje jest da možemo pristupiti URL-u u ZAP proxy pregledniku jer će ga Zap automatski otkriti. Nakon desnog klika na URL -> pokrenut će se aktivno skeniranje. Kad je indeksiranje završeno, započet će aktivno skeniranje.
Napredak napada prikazat će se na kartici Aktivno skeniranje. a na kartici Spider prikazat će se URL popisa sa scenarijima napada. Nakon završetka aktivnog skeniranja, rezultati će se prikazati na kartici Upozorenja.
Molimo provjerite donju snimku zaslona Aktivno skeniranje 1 i Aktivno skeniranje 2 radi jasnog razumijevanja.
Aktivno skeniranje 1
Aktivno skeniranje 2
# 4) Pauk: Spider identificira URL na web mjestu, provjerava hiperveze i dodaje ga na popis.
# 5) Ajax Spider: U slučaju da naša aplikacija intenzivno koristi JavaScript, idite na AJAX pauk za istraživanje aplikacije.Objasnit ću Pauk Ajax detaljno u mom sljedećem vodiču.
# 6) Upozorenja : Ranjivosti web stranica označene su kao visoka, srednja i niska upozorenja.
ZAP instalacija
Sada ćemo razumjeti postavke ZAP instalacije. Prvo preuzmite Zap instalirati . Kako koristim Windows 10, sukladno tome sam preuzeo i 64-bitni instalacijski program za Windows.
Preduvjeti za instalaciju Zapa: Java 7 je obavezna. Ako u vašem sustavu nema instalirane jave, prvo je preuzmite. Tada možemo pokrenuti ZAP.
Postavljanje ZAP preglednika
Prvo zatvorite sve aktivne sesije Firefoxa.
Pokrenite alat Zap >> idite na izbornik Alati >> odaberite opcije >> odaberite Lokalni proxy >> tamo možemo vidjeti adresu kao localhost (127.0.0.1), a port kao 8080, možemo promijeniti u drugi port ako već koristi, recimo da se mijenjam u 8099. Provjerite snimku zaslona u nastavku:
Lokalni proxy u Zap 1
Sada otvorite Mozilla Firefox >> odaberite opcije >> kartica unaprijed >> u toj mreži> Postavke veze >> odaberite opciju Ručna konfiguracija proxyja. Upotrijebite isti priključak kao u alatu Zap. Ručno sam promijenio na 8099 u ZAP-u i koristio isti u pregledniku Firefox. Pogledajte ispod snimke zaslona Firefoxove konfiguracije postavljene kao proxy preglednik.
Postavljanje proxyja Firefoxa 1
Pokušajte povezati svoju aplikaciju pomoću preglednika. Evo, pokušao sam se povezati Facebook i kaže da vaša veza nije sigurna. Zato morate dodati iznimku, a zatim potvrditi sigurnosnu iznimku za navigaciju na Facebook stranicu. Pogledajte snimke zaslona u nastavku:
Pristup web stranici -proxy preglednik 1
Pristup web stranici -proxy preglednik 2
Pristup web stranici -proxy preglednik 3
Istodobno, na kartici web mjesta Zap, provjerite stvorenu novu sesiju za Facebook stranicu. Kada ste uspješno povezali svoju aplikaciju, na kartici povijesti ZAP-a možete vidjeti više redaka.
Zap obično pruža dodatne funkcije kojima se može pristupiti desnim klikom na izbornike poput,
Desnom tipkom miša kliknite >> HTML >> aktivno skeniranje, a zatim će zap izvršiti aktivno skeniranje i prikazati rezultate.
Ako ne možete povezati svoju aplikaciju pomoću preglednika, ponovo provjerite postavke proxyja. Morat ćete provjeriti postavke preglednika i ZAP proxyja.
Generiranje izvješća u ZAP-u
Nakon završetka aktivnog skeniranja možemo generirati izvješća. Za to kliknite OWASP ZAP >> Izvještaj >> generiraj HTML izvješća >> predviđena putanja datoteke >> izvezeni izvještaj skeniranja. Moramo ispitati izvješća kako bismo identificirali sve moguće prijetnje i riješili ih.
ZAP provjera autentičnosti, sesija i upravljanje korisnicima
Prijeđimo na drugu značajku Zap, koja se bavi provjerom autentičnosti, upravljanjem sesijama i korisnicima. Obavijestite me o bilo kojem upitu koji vam padne na pamet vezan za ovo kao komentare.
Osnovni koncepti
- Kontekst : Predstavlja web aplikaciju ili skup URL-ova zajedno. Za zadani kontekst dodaju se nove kartice za prilagodbu i konfiguraciju postupka provjere autentičnosti i upravljanja sesijama. Opcije su dostupne u dijaloškom okviru svojstava sesije. Tj. Dijaloški okvir svojstava sesije -> Kontekst -> možete koristiti zadanu opciju ili dodati novo ime konteksta.
- Način upravljanja sjednicom: Postoje 2 vrste metoda upravljanja sesijama. Uglavnom se koristi upravljanje sjednicama temeljeno na kolačićima, povezano s kontekstom.
- Način autentifikacije: ZAP uglavnom koristi 3 vrste Auth metode:
- Metoda provjere autentičnosti na temelju obrasca
- Ručna provjera autentičnosti
- HTTP autentifikacija
- Korisničko upravljanje: Jednom kada se shema provjere autentičnosti konfigurira, skup korisnika može se definirati za svaki kontekst. Ti se korisnici koriste za razne radnje ( Na primjer, Spider URL / kontekst kao korisnik Y, pošaljite sve zahtjeve kao korisnik X). Uskoro će se pružiti još radnji koje koriste korisnike.
Provedeno je proširenje 'Prisilni korisnik' koje zamjenjuje staro proširenje za provjeru autentičnosti koje je izvodilo ponovnu provjeru autentičnosti. Način 'Prisilni korisnik' sada je dostupan putem alatne trake (ista ikona kao i staro proširenje za provjeru autentičnosti).
Nakon postavljanja korisnika kao ‘Prisilnog korisnika’ za određeni kontekst ili kada je to omogućeno, svaki zahtjev poslan putem ZAP-a automatski se mijenja tako da se šalje za ovog korisnika. Ovaj način također automatski izvodi ponovnu provjeru autentičnosti (posebno u vezi s provjerom autentičnosti na temelju obrasca) ako nedostaje provjera autentičnosti, otkriva se 'odjavljena'.
Pogledajmo demo:
Korak 1:
Prvo pokrenite ZAP i pristupite URL-u u proxy pregledniku. Evo, uzeo sam uzorak URL-a kao https://tmf-uat.iptquote.com/login.php . Kliknite Napredno -> dodaj iznimku -> potvrdi sigurnosnu iznimku kao na stranicama 6 i 7. Tada će se prikazati odredišna stranica. Istodobno ZAP automatski učitava web stranicu pod Web mjesta kao novu sesiju. Pogledajte donju sliku.
Korak 2:
Uključite ga u kontekst. To se može učiniti uključivanjem u zadani kontekst ili dodavanjem kao novi kontekst. Pogledajte donju sliku.
Korak 3:
Sada je sljedeća metoda provjere autentičnosti. Autentifikaciju možete vidjeti u samom dijaloškom okviru svojstava te sesije. Ovdje koristimo metodu Auth koja se temelji na obrascu.
Trebao bi biti poput authMethodParams kao ' URL za prijavu = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
U našem primjeru moramo metodu provjere autentičnosti postaviti kao Obrazovnu. Za to odaberite ciljni URL, polje podataka zahtjeva za prijavu se unaprijed popunjava, nakon toga promijenite parametar kao korisničko ime i lozinku -> kliknite ok .
Korak 4:
Sada postavite indikatore koji će ZAP-u reći kada je ovjerena.
Pokazatelji prijavljeni i odjavljeni:
- Neophodan je samo jedan
- Možemo postaviti Regex uzorke koji se podudaraju u odgovoru, trebaju postaviti indikator za prijavu ili odjavu.
- Utvrdite kada je odgovor provjeren ili ne.
- Primjer za prijavljeni pokazatelj: Qhttp: // primjer / odjava E ili korisnik dobrodošlice. *
- Primjer pokazatelja Odjavljen: login.jsp ili nešto slično.
Ovdje sam, u našoj demo aplikaciji, pristupio URL-u u proxy pregledniku. Prijavljeni ste u aplikaciju koristeći valjanu vjerodajnicu, Korisničko ime kao superadmin i Lozinka kao primo868. Krećite se unutarnjim stranicama i kliknite na odjavi
Možete vidjeti na snimci zaslona koraka 3, Zap uzima podatke zahtjeva za prijavu kao one koji se koriste za prijavu TMF aplikacije (Demo aplikacija prijava).
Označi prijavljeni obrazac Regex-a iz odgovora ZAP-a kao odgovor -> odjavljeni odgovor -> označi ga prijavljenim u indikatoru. Pogledajte snimka zaslona u nastavku
Korak 5:
Možemo spremiti indikator i provjeriti dodaje li se dijaloški okvir svojstava sesije s prijavljenim indikatorom ili ne. Pogledajte snimak zaslona u nastavku:
najbolji besplatni optimizator za Windows 10
Korak 6:
Moramo dodati korisnike, važeće i nevaljane korisnike. Primijenite paukove napade na oba i analizirajte rezultate.
Važeći korisnik:
Nevažeći korisnik:
Korak 7:
Prema zadanim postavkama upravljanje sesijom postavite kao metodu koja se temelji na kolačićima.
Korak 8:
Spider URL napad primjenjuje se na nevaljane i važeće korisnike i pregledava rezultate / generira izvješća.
Nevažeći prikaz korisničkog pauka 1:
Ovdje se napada pauk URL primjenjuje na nevaljanog korisnika. U ZAP sučelju možemo vidjeti Get: login.php (error _message), što znači da provjera autentičnosti nije uspjela. Također, URL ne prosljeđuje kroz unutarnje TMF stranice.
9. korak:
Da biste primijenili napad spider URL-a na važećeg korisnika, idite na popis web lokacija -> napad -> URL pauka -> postojeći važeći korisnik -> ovdje je omogućen prema zadanim postavkama -> pokrenite skeniranje.
Analizirajte rezultate: Budući da je valjani provjereni korisnik, kretat će se kroz sve unutarnje stranice i status provjere autentičnosti prikazati kao uspješan. Pogledajte sliku zaslona ispod.
Valjani korisnik
Uzorak izvješća ZAP Html
Nakon završetka aktivnog skeniranja, možemo generirati HTML izvješće za isto. Za to odaberite Izvješće -> Generiraj HTML izvješće. Priložio sam uzorak sadržaja HTML izvještaja. Ovdje će se generirati izvješća o visokim, srednjim i niskim upozorenjima.
Upozorenja
Zaključak
U ovom uputstvu vidjeli smo što je ZAP, kako ZAP radi, instalacija i postavljanje ZAP proxyja. Različite vrste procesa aktivnog skeniranja, demonstracija ZAP provjere autentičnosti, upravljanje sesijama i korisnicima te osnovne terminologije. U sljedećem uputstvu objasnit ću vam napad na Ajax-ov pauk, upotrebu rasplinjača, prisilne web stranice.
A ako ste koristili Zed napadački proxy i imate nekoliko zanimljivih savjeta za dijeljenje, podijelite u komentarima u nastavku.
Reference:
Preporučena literatura
- PraktiTest Alat za upravljanje testovima Praktični vodič za pregled
- Pregled alata za upravljanje testom TestLodge
- Vodič za TestComplete: Opsežni vodič za alate za testiranje grafičkog sučelja za početnike
- Alat za praćenje zaostalih grešaka Praktični vodič za pregled
- Vodič za Bugzilla: Praktični vodič za alat za upravljanje nedostacima
- Kako testirati izvedbu web stranice pomoću alata SmartMeter.io: Vodič za praktični pregled
- Vodič za alat za testiranje pristupačnosti WAVE-a
- Praktični pregled alata za upravljanje testom qTest