owasp zap tutorial comprehensive review owasp zap tool
Αυτό το σεμινάριο εξηγεί τι είναι το OWASP ZAP, πώς λειτουργεί, πώς να εγκαταστήσετε και να ρυθμίσετε το ZAP Proxy. Περιλαμβάνει επίσης επίδειξη ελέγχου ταυτότητας ZAP και διαχείρισης χρηστών:
Γιατί να χρησιμοποιήσετε το ZAP για δοκιμή στυλό;
Για να αναπτύξετε μια ασφαλή εφαρμογή Ιστού, πρέπει να γνωρίζετε πώς θα επιτεθούν. Εδώ, έρχεται η απαίτηση για ασφάλεια εφαρμογών ιστού ή δοκιμή διείσδυσης.
Για λόγους ασφαλείας, οι εταιρείες χρησιμοποιούν εργαλεία επί πληρωμή, αλλά το OWASP ZAP είναι μια εξαιρετική εναλλακτική λύση ανοιχτού κώδικα που κάνει το Penetration Testing ευκολότερο για τους δοκιμαστές.
Τι θα μάθετε:
- Τι είναι το OWASP ZAP;
- Πώς λειτουργεί το ZAP;
- Έλεγχος ταυτότητας ZAP, περίοδος σύνδεσης και διαχείριση χρηστών
- Δείγμα αναφοράς ZAP Html
- συμπέρασμα
Τι είναι το OWASP ZAP;
Ο έλεγχος διείσδυσης βοηθά στην εύρεση τρωτών σημείων προτού το κάνει ένας εισβολέας. Το OSWAP ZAP είναι ένα δωρεάν εργαλείο ανοιχτού κώδικα και χρησιμοποιείται για τη διενέργεια δοκιμών διείσδυσης. Ο κύριος στόχος του Zap είναι να επιτρέψει τον εύκολο έλεγχο διείσδυσης για να εντοπίσει τα τρωτά σημεία στις εφαρμογές ιστού.
Πλεονεκτήματα ZAP:
- Το Zap παρέχει πολλαπλές πλατφόρμες, δηλαδή λειτουργεί σε όλα τα λειτουργικά συστήματα (Linux, Mac, Windows)
- Το Zap είναι επαναχρησιμοποιήσιμο
- Μπορεί να δημιουργήσει αναφορές
- Ιδανικό για αρχάριους
- Δωρεάν εργαλείο
Πώς λειτουργεί το ZAP;
Το ZAP δημιουργεί έναν διακομιστή μεσολάβησης και κάνει την επισκεψιμότητα του ιστότοπου να περνά μέσω του διακομιστή. Η χρήση αυτόματων σαρωτών στο ZAP βοηθά στην παρακολούθηση των τρωτών σημείων στον ιστότοπο.
Ανατρέξτε σε αυτό το διάγραμμα ροής για καλύτερη κατανόηση:
πώς να ανοίξετε αρχεία .java
Ορολογίες ZAP
Πριν διαμορφώσετε τη ρύθμιση ZAP, ας κατανοήσουμε ορισμένες ορολογίες ZAP:
# 1) Συνεδρία : Η συνεδρία σημαίνει απλώς να περιηγηθείτε στον ιστότοπο για να προσδιορίσετε την περιοχή επίθεσης. Για το σκοπό αυτό, οποιοδήποτε πρόγραμμα περιήγησης όπως το Mozilla Firefox μπορεί να χρησιμοποιηθεί αλλάζοντας τις ρυθμίσεις διακομιστή μεσολάβησης. Διαφορετικά, μπορούμε να αποθηκεύσουμε το zap session ως .session και μπορούμε να το ξαναχρησιμοποιήσουμε.
# 2) Πλαίσιο: Σημαίνει μια εφαρμογή ιστού ή ένα σύνολο διευθύνσεων URL μαζί. Το περιβάλλον που δημιουργείται στο ZAP θα επιτεθεί στο καθορισμένο και θα αγνοήσει τα υπόλοιπα, για να αποφευχθούν πάρα πολλά δεδομένα.
# 3) Τύποι επιθέσεων ZAP: Μπορείτε να δημιουργήσετε μια αναφορά ευπάθειας χρησιμοποιώντας διαφορετικούς τύπους επίθεσης ZAP πατώντας και σαρώνοντας τη διεύθυνση URL.
Ενεργή σάρωση: Μπορούμε να πραγματοποιήσουμε μια Ενεργή σάρωση χρησιμοποιώντας το Zap με πολλούς τρόπους. Η πρώτη επιλογή είναι το Γρήγορη εκίνηση, που υπάρχει στη σελίδα καλωσορίσματος του εργαλείου ZAP. Ανατρέξτε στο παρακάτω στιγμιότυπο οθόνης:
Γρήγορη εκκίνηση 1
Το παραπάνω στιγμιότυπο οθόνης δείχνει τον πιο γρήγορο τρόπο για να ξεκινήσετε με το ZAP. Εισαγάγετε τη διεύθυνση URL στην καρτέλα Γρήγορη εκκίνηση, πατήστε το κουμπί Attack και στη συνέχεια ξεκινά η πρόοδος.
Η Γρήγορη εκκίνηση εκτελεί την αράχνη στην καθορισμένη διεύθυνση URL και στη συνέχεια εκτελεί τον ενεργό σαρωτή. Μια αράχνη ανιχνεύει σε όλες τις σελίδες ξεκινώντας από την καθορισμένη διεύθυνση URL. Για να είμαστε πιο ακριβείς, η σελίδα 'Γρήγορη εκκίνηση' είναι σαν 'point and shoot'.
Γρήγορη εκκίνηση 2
Εδώ, κατά τον καθορισμό του URL προορισμού, η επίθεση ξεκινά. Μπορείτε να δείτε την κατάσταση προόδου ως αράχνη της διεύθυνσης URL για να ανακαλύψετε περιεχόμενο. Μπορούμε να σταματήσουμε χειροκίνητα την επίθεση εάν χρειάζεται πολύς χρόνος.
Μια άλλη επιλογή για το Ενεργή σάρωση είναι ότι μπορούμε να έχουμε πρόσβαση στη διεύθυνση URL στο πρόγραμμα περιήγησης διακομιστή μεσολάβησης ZAP, καθώς το Zap θα το εντοπίσει αυτόματα. Αφού κάνετε δεξί κλικ στη διεύθυνση URL - θα ξεκινήσει η ενεργή σάρωση. Μόλις ολοκληρωθεί η ανίχνευση, θα ξεκινήσει η ενεργή σάρωση.
Η πρόοδος επίθεσης θα εμφανιστεί στην καρτέλα Ενεργή σάρωση. και η καρτέλα Spider θα εμφανίσει τη διεύθυνση URL της λίστας με σενάρια επίθεσης. Μόλις ολοκληρωθεί η Ενεργή σάρωση, τα αποτελέσματα θα εμφανιστούν στην καρτέλα Ειδοποιήσεις.
Ελέγξτε το παρακάτω στιγμιότυπο οθόνης του Ενεργή σάρωση 1 και Ενεργή σάρωση 2 για σαφή κατανόηση.
Ενεργή σάρωση 1
Ενεργή σάρωση 2
# 4) Αράχνη: Το Spider αναγνωρίζει τη διεύθυνση URL στον ιστότοπο, ελέγχει για υπερσυνδέσμους και προσθέτει τη λίστα.
# 5) Ajax Spider: Σε περίπτωση που η εφαρμογή μας χρησιμοποιεί βαριά JavaScript, αναζητήστε την αράχνη AJAX για να εξερευνήσετε την εφαρμογή.Θα εξηγήσω το Ajax αράχνη λεπτομερώς στο επόμενο σεμινάριό μου.
# 6) Ειδοποιήσεις : Τα τρωτά σημεία του ιστότοπου επισημαίνονται ως υψηλές, μεσαίες και χαμηλές ειδοποιήσεις.
Εγκατάσταση ZAP
Τώρα, θα κατανοήσουμε τη ρύθμιση εγκατάστασης ZAP. Πρώτα, κατεβάστε το Εγκατάσταση Zap . Καθώς χρησιμοποιώ τα Windows 10, έχω κατεβάσει ανάλογα το πρόγραμμα εγκατάστασης των Windows 64 bit.
Προαπαιτούμενα για εγκατάσταση Zap: Απαιτείται Java 7. Εάν δεν έχετε εγκαταστήσει το java στο σύστημά σας, πάρτε το πρώτα. Τότε μπορούμε να ξεκινήσουμε το ZAP.
Ρύθμιση προγράμματος περιήγησης ZAP
Πρώτα, κλείστε όλες τις ενεργές συνεδρίες Firefox.
Εκκινήστε το εργαλείο Zap >> μεταβείτε στο μενού Εργαλεία >> επιλέξτε επιλογές >> επιλέξτε Τοπικός διακομιστής μεσολάβησης >> εκεί μπορούμε να δούμε τη διεύθυνση ως localhost (127.0.0.1) και τη θύρα ως 8080, μπορούμε να αλλάξουμε σε άλλη θύρα εάν χρησιμοποιεί ήδη, Ας αλλάξω σε 8099. Ελέγξτε το παρακάτω στιγμιότυπο οθόνης:
Τοπικός πληρεξούσιος στο Zap 1
Τώρα, ανοίξτε το Mozilla Firefox >> ορίστε επιλογές >> καρτέλα προόδου >> σε αυτήν την επιλογή Δίκτυο >> Ρυθμίσεις σύνδεσης >> επιλέξτε την επιλογή Μη αυτόματη διαμόρφωση διακομιστή μεσολάβησης. Χρησιμοποιήστε την ίδια θύρα με το εργαλείο Zap. Έχω αλλάξει χειροκίνητα σε 8099 στο ZAP και το χρησιμοποίησα στο πρόγραμμα περιήγησης Firefox. Δείτε παρακάτω το στιγμιότυπο οθόνης της διαμόρφωσης του Firefox που έχει ρυθμιστεί ως διακομιστής μεσολάβησης.
Ρύθμιση διακομιστή μεσολάβησης Firefox 1
Προσπαθήστε να συνδέσετε την εφαρμογή σας χρησιμοποιώντας το πρόγραμμα περιήγησής σας. Εδώ, προσπάθησα να συνδεθώ Facebook και λέει ότι η σύνδεσή σας δεν είναι ασφαλής. Επομένως, πρέπει να προσθέσετε μια εξαίρεση και, στη συνέχεια, να επιβεβαιώσετε την Εξαίρεση ασφαλείας για πλοήγηση στη σελίδα Facebook. Ανατρέξτε στα στιγμιότυπα οθόνης παρακάτω:
Πρόσβαση στην ιστοσελίδα - πρόγραμμα περιήγησης διακομιστή μεσολάβησης 1
Πρόσβαση στην ιστοσελίδα - πρόγραμμα περιήγησης διακομιστή μεσολάβησης 2
Πρόσβαση στην ιστοσελίδα - πρόγραμμα περιήγησης διακομιστή μεσολάβησης 3
Ταυτόχρονα, στην καρτέλα ιστότοπων του Zap, ελέγξτε τη νέα συνεδρία που δημιουργήθηκε για τη σελίδα Facebook. Όταν συνδέσετε με επιτυχία την εφαρμογή σας, μπορείτε να δείτε περισσότερες γραμμές στην καρτέλα ιστορικού του ZAP.
Το Zap παρέχει συνήθως πρόσθετες λειτουργίες στις οποίες μπορείτε να έχετε πρόσβαση με μενού δεξιού κλικ όπως,
Κάντε δεξί κλικ >> ενεργητική σάρωση >> HTML και, στη συνέχεια, το zap θα εκτελέσει ενεργά αποτελέσματα σάρωσης και εμφάνισης.
Εάν δεν μπορείτε να συνδέσετε την εφαρμογή σας χρησιμοποιώντας το πρόγραμμα περιήγησης, ελέγξτε ξανά τις ρυθμίσεις διακομιστή μεσολάβησης. Θα πρέπει να ελέγξετε τις ρυθμίσεις διακομιστή μεσολάβησης και διακομιστή μεσολάβησης ZAP.
Δημιουργία αναφορών στο ZAP
Μόλις ολοκληρωθεί η Ενεργή σάρωση, μπορούμε να δημιουργήσουμε αναφορές. Για αυτό κάντε κλικ στο OWASP ZAP >> Αναφορά >> δημιουργία αναφορών HTML >> παρέχεται διαδρομή αρχείου >> εξαγωγή αναφοράς σάρωσης. Πρέπει να εξετάσουμε τις αναφορές για τον εντοπισμό όλων των πιθανών απειλών και να τις διορθώσουμε.
Έλεγχος ταυτότητας ZAP, περίοδος σύνδεσης και διαχείριση χρηστών
Ας προχωρήσουμε σε μια άλλη δυνατότητα Zap, χειρισμό ελέγχου ταυτότητας, συνεδρίας και διαχείρισης χρηστών. Ενημερώστε με για οποιοδήποτε ερώτημα που έρχεται στο μυαλό σας σχετικά με αυτό ως σχόλια.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ
- Συμφραζόμενα : Αντιπροσωπεύει μια εφαρμογή ιστού ή ένα σύνολο διευθύνσεων URL μαζί. Για ένα δεδομένο πλαίσιο, προστίθενται νέες καρτέλες για προσαρμογή και διαμόρφωση της διαδικασίας ελέγχου ταυτότητας και διαχείρισης συνεδρίας. Οι επιλογές είναι διαθέσιμες στο παράθυρο διαλόγου ιδιοτήτων περιόδου σύνδεσης. Δηλαδή διάλογος ιδιοτήτων περιόδου σύνδεσης -> Περιεχόμενο -> μπορείτε είτε να χρησιμοποιήσετε την προεπιλεγμένη επιλογή είτε να προσθέσετε ένα νέο όνομα περιβάλλοντος.
- Μέθοδος διαχείρισης συνεδρίας: Υπάρχουν 2 τύποι μεθόδων διαχείρισης συνεδρίας. Συνήθως χρησιμοποιείται η διαχείριση συνεδριών βάσει cookie, που σχετίζεται με το Περιεχόμενο.
- Μέθοδος αυθεντικότητας: Υπάρχουν κυρίως 3 τύποι μεθόδων Auth που χρησιμοποιούνται από το ZAP:
- Μέθοδος ελέγχου ταυτότητας βάσει φόρμας
- Χειροκίνητος έλεγχος ταυτότητας
- Έλεγχος ταυτότητας HTTP
- Διαχείριση χρηστών: Μόλις διαμορφωθεί το σχήμα ελέγχου ταυτότητας, μπορεί να οριστεί ένα σύνολο χρηστών για κάθε περιβάλλον. Αυτοί οι χρήστες χρησιμοποιούνται για διάφορες ενέργειες ( Για παράδειγμα, Spider URL / Context ως User Y, στείλτε όλα τα αιτήματα ως User X). Σύντομα, θα παρέχονται περισσότερες ενέργειες που κάνουν χρήση των χρηστών.
Εφαρμόζεται μια επέκταση 'Αναγκαστικός χρήστης' για να αντικαταστήσει την παλιά επέκταση ελέγχου ταυτότητας που εκτελούσε εκ νέου έλεγχο ταυτότητας. Η λειτουργία «Αναγκαστικός χρήστης» είναι πλέον διαθέσιμη μέσω της γραμμής εργαλείων (το ίδιο εικονίδιο με την παλιά επέκταση ελέγχου ταυτότητας).
Αφού ορίσετε έναν χρήστη ως «Αναγκαστικός χρήστης» για ένα δεδομένο περιβάλλον ή όταν είναι ενεργοποιημένος, κάθε αίτημα που αποστέλλεται μέσω ZAP τροποποιείται αυτόματα έτσι ώστε να αποστέλλεται για αυτόν τον χρήστη. Αυτή η λειτουργία πραγματοποιεί επίσης αυτόματη επανεξέταση (ειδικά σε συνδυασμό με τον Έλεγχο ταυτότητας βάσει φόρμας) εάν υπάρχει έλλειψη ελέγχου ταυτότητας, εντοπίζεται «αποσυνδεδεμένος».
Ας δούμε μια επίδειξη:
Βήμα 1:
Αρχικά, ξεκινήστε το ZAP και αποκτήστε πρόσβαση στη διεύθυνση URL στο πρόγραμμα περιήγησης διακομιστή μεσολάβησης. Εδώ, έχω πάρει το δείγμα URL ως https://tmf-uat.iptquote.com/login.php . Κάντε κλικ στο Advanced -> add Exception -> επιβεβαιώστε την εξαίρεση ασφαλείας όπως στις σελίδες 6 και 7. Στη συνέχεια, εμφανίζεται η σελίδα προορισμού. Ταυτόχρονα, το ZAP φορτώνει αυτόματα την Ιστοσελίδα στην περιοχή Ιστότοποι ως νέα περίοδος σύνδεσης. Ανατρέξτε στην παρακάτω εικόνα.
Βήμα 2:
Συμπεριλάβετε το σε ένα πλαίσιο. Αυτό μπορεί να γίνει είτε συμπεριλαμβάνοντας το σε προεπιλεγμένο περιβάλλον είτε προσθέτοντάς το ως νέο περιβάλλον. Ανατρέξτε στην παρακάτω εικόνα.
πώς να ανοίξετε ένα αρχείο .apk
Βήμα 3:
Τώρα, το επόμενο είναι η μέθοδος ελέγχου ταυτότητας. Μπορείτε να δείτε τον έλεγχο ταυτότητας στο ίδιο το παράθυρο διαλόγου ιδιοτήτων περιόδου σύνδεσης. Εδώ χρησιμοποιούμε τη μέθοδο Auth βάσει φόρμας.
Θα πρέπει να είναι όπως το authMethodParams ως ' διεύθυνση URL σύνδεσης = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login '
Στο παράδειγμά μας, πρέπει να ορίσουμε τη μέθοδο ελέγχου ταυτότητας ως φόρμα. Για αυτό, επιλέξτε τη διεύθυνση URL προορισμού, το πεδίο δεδομένων μετά την αίτηση σύνδεσης συμπληρώνεται, μετά από αυτό, αλλάξτε την παράμετρο ως όνομα χρήστη και κωδικό πρόσβασης -> κάντε κλικ στο ok .
Βήμα 4:
Τώρα, ορίστε δείκτες που θα λένε στο ZAP πότε θα γίνει έλεγχος ταυτότητας.
Ένδειξη σύνδεσης και αποσύνδεσης:
- Μόνο ένα είναι απαραίτητο
- Μπορούμε να ορίσουμε τα μοτίβα Regex που αντιστοιχούν στο μήνυμα απόκρισης, πρέπει να ορίσουμε είτε την ένδειξη σύνδεσης είτε αποσύνδεσης.
- Προσδιορίστε πότε μια απόκριση επικυρώνεται ή πότε όχι.
- Παράδειγμα για την ένδειξη Σύνδεση: Qhttp: // example / logout E ή Καλώς ορίσατε χρήστης. *
- Παράδειγμα της ένδειξης αποσύνδεσης: login.jsp ή κάτι τέτοιο.
Εδώ, στην εφαρμογή επίδειξης, έχω πρόσβαση στη διεύθυνση URL σε ένα διακομιστή μεσολάβησης. Συνδεθήκατε στην εφαρμογή χρησιμοποιώντας έγκυρα διαπιστευτήρια, Όνομα χρήστη ως superadmin και Κωδικός πρόσβασης ως primo868. Περιηγηθείτε στις εσωτερικές σελίδες και κάντε κλικ στην αποσύνδεση
Μπορείτε να δείτε στο στιγμιότυπο οθόνης του Βήματος 3, το Zap λαμβάνει τα δεδομένα αιτήματος σύνδεσης ως ένα που χρησιμοποιείται για την είσοδο στην εφαρμογή TMF (Demo application login).
Επισήμανση συνδεδεμένου μοτίβου Regex από την απόκριση του ZAP ως απόκριση -> αποσύνδεση απόκρισης -> επισήμανση ως συνδεδεμένη στην ένδειξη. Αναφέρομαι σε το στιγμιότυπο οθόνης παρακάτω
Βήμα 5:
Μπορούμε να αποθηκεύσουμε την ένδειξη και να επαληθεύσουμε εάν ο διάλογος ιδιοτήτων περιόδου σύνδεσης προστίθεται με την ένδειξη σύνδεσης ή όχι. Ανατρέξτε στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 6:
Πρέπει να προσθέσουμε χρήστες, έγκυρους και μη έγκυρους χρήστες. Εφαρμόστε επιθέσεις αράχνης και στα δύο και αναλύστε τα αποτελέσματα.
Έγκυρος χρήστης:
Μη έγκυρος χρήστης:
Βήμα 7:
Από προεπιλογή, ορίστε τη διαχείριση συνεδρίας ως μέθοδο βασισμένη σε cookie.
Βήμα 8:
Η επίθεση Spider URL εφαρμόζεται σε μη έγκυρους και έγκυρους χρήστες και ελέγχει τα αποτελέσματα / δημιουργεί αναφορές.
Μη έγκυρη προβολή 1 επίθεσης αράχνης χρήστη:
Εδώ, μια επίθεση URL αράχνης εφαρμόζεται στον μη έγκυρο χρήστη. Στη διεπαφή ZAP, μπορούμε να δούμε Λήψη: login.php (σφάλμα _message), που σημαίνει ότι ο έλεγχος ταυτότητας απέτυχε. Επίσης, δεν διαβιβάζει τις διευθύνσεις URL μέσω εσωτερικών σελίδων TMF.
Βήμα 9:
Για να εφαρμόσετε την επίθεση URL αράχνης για τον έγκυρο χρήστη, μεταβείτε στη λίστα ιστότοπων -> επίθεση -> URL αράχνης -> υπάρχων έγκυρος χρήστης -> εδώ είναι ενεργοποιημένη από προεπιλογή -> έναρξη σάρωσης.
Ανάλυση αποτελεσμάτων: Δεδομένου ότι είναι έγκυρος επικυρωμένος χρήστης, θα πλοηγηθεί σε όλες τις εσωτερικές σελίδες και θα εμφανίσει την κατάσταση ελέγχου ταυτότητας ως επιτυχής. Ανατρέξτε στο παρακάτω στιγμιότυπο οθόνης.
Έγκυρος χρήστης
Δείγμα αναφοράς ZAP Html
Μόλις ολοκληρωθεί μια ενεργή σάρωση, μπορούμε να δημιουργήσουμε μια αναφορά HTML για την ίδια. Για αυτό, επιλέξτε Αναφορά -> Δημιουργία αναφοράς HTML. Έχω επισυνάψει ένα δείγμα περιεχομένου αναφορών HTML. Εδώ, θα δημιουργηθούν αναφορές υψηλών, μεσαίων και χαμηλών ειδοποιήσεων.
Ειδοποιήσεις
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε δει τι είναι το ZAP, πώς λειτουργεί το ZAP, εγκατάσταση και ρύθμιση διακομιστή μεσολάβησης ZAP. Διαφορετικοί τύποι ενεργών διεργασιών σάρωσης, επίδειξη ελέγχου ταυτότητας ZAP, διαχείριση συνεδρίας και χρήστη και βασικές ορολογίες. Στο επόμενο σεμινάριό μου, θα εξηγήσω για την επίθεση της αράχνης Ajax, τη χρήση fuzzers, τους ιστότοπους αναγκαστικής περιήγησης.
Και αν έχετε χρησιμοποιήσει διακομιστή μεσολάβησης επίθεσης Zed και έχετε κάποιες ενδιαφέρουσες συμβουλές για κοινή χρήση, μοιραστείτε τα παρακάτω σχόλια.
Βιβλιογραφικές αναφορές:
Συνιστώμενη ανάγνωση
- Εγχειρίδιο πρακτικής εξέτασης πρακτικής δοκιμής εργαλείου διαχείρισης δοκιμών
- Επανεξέταση εργαλείου διαχείρισης δοκιμών TestLodge
- TestComplete Tutorial: Ένας ολοκληρωμένος οδηγός εργαλείου δοκιμών GUI για αρχάριους
- Εργαλείο παρακολούθησης σφαλμάτων Backlog
- Tutorial Bugzilla: Εγχειρίδιο Εργαλείου Διαχείρισης Ατελειών
- Πώς να δοκιμάσετε την απόδοση του ιστότοπου χρησιμοποιώντας το εργαλείο SmartMeter.io: Εγχειρίδιο κριτικής πρακτικής
- Οδηγός εργαλείων δοκιμής προσβασιμότητας WAVE
- Hands-on Review του qTest Test Management Tool