Τετάρτη, 16 Ιουλίου 2014

Cross-Site Scripting (XSS) Πλήρης Tutorial για αρχάριους ~ Web Application ευπάθειας



Τι είναι XSS;  Cross-Site Scripting επίσης γνωστή ως XSS, είναι μία από τις πιο κοινές web appliction ευπάθεια που επιτρέπει σε έναν εισβολέα να εκτελέσει τη δική του πλευρά του client scripts (ιδιαίτερα Javascript) σε ιστοσελίδες προβληθούν από άλλους χρήστες.   Σε ένα τυπικό επίθεση XSS, ένας χάκερ ένεση κακόβουλο κώδικα του javascript στον νόμιμο ιστοσελίδα. Όταν ένας χρήστης επισκεφθεί το ειδικά δημιουργημένο σύνδεση, θα εκτελέσει το κακόβουλο javascript. Μια εκμεταλλευτεί με επιτυχία την ευπάθεια XSS θα επιτρέψει στους επιτιθέμενους να κάνουν επιθέσεις phishing, κλέβουν τους λογαριασμούς ή ακόμη και σκουλήκια.   
Παράδειγμα: Ας υποθέσουμε, ένας χάκερ ανακάλυψε ευπάθεια XSS στο Gmail και ένεση κακόβουλο script. Όταν ένας χρήστης επισκεφθεί το site, θα εκτελέσει το κακόβουλο script. Ο κακόβουλος κώδικας μπορεί να χρησιμοποιηθεί για να ανακατευθύνουν τους χρήστες σε ψεύτικες σελίδα gmail ή μπισκότα σύλληψης. Χρησιμοποιώντας αυτό κλαπεί τα cookies, μπορεί να συνδεθείτε στο λογαριασμό σας και να αλλάξετε τον κωδικό πρόσβασης.  
Θα είναι εύκολο να καταλάβει XSS, αν έχετε την ακόλουθη προϋπόθεση:   
  • Ισχυρή γνώση σε HTML, javascript ( Reference ).  
  • Βασικές γνώσεις σε HTTP πελάτη-διακομιστή architecure ( Reference )  
  • [Προαιρετικό] Βασικές γνώσεις για τον προγραμματισμό πλευρά του server (php, asp, jsp)  
 XSS επίθεση:  Βήμα 1: Εύρεση Vulnerable Website  Hackers χρησιμοποιούν google σπασίκλας για την εύρεση των ευάλωτων χώρων, για παράδειγμα; "search =" ή ". Php? Q =". 1337 στόχος συγκεκριμένους δικτυακούς τόπους αντί να χρησιμοποιούν google αναζήτηση. Εάν πρόκειται να δοκιμάσει το δικό σου site, θα πρέπει να ελέγξετε κάθε σελίδα στην ιστοσελίδα σας για την ευπάθεια.   Βήμα 2: Έλεγχος της ευπάθειας:  Πρώτα απ 'όλα, πρέπει να βρούμε ένα πεδίο εισόδου, έτσι ώστε να μπορούμε να εισφέρει τη δική μας σενάριο, για παράδειγμα: πλαίσιο αναζήτησης, το όνομα χρήστη, τον κωδικό πρόσβασης ή οποιαδήποτε άλλα πεδία.    
Εισαγωγή εικόνας... 
 Δοκιμή 1:  Μόλις βρήκαμε το πεδίο εισαγωγής, ας προσπαθήσουμε να βάλουμε κάποια χορδή μέσα στο πεδίο, για παράδειγμα, επιτρέψτε μου εισόδου "BTS". Θα εμφανιστεί το αποτέλεσμα.   
Εικόνα 
 Τώρα, κάντε δεξί κλικ στη σελίδα και επιλέξτε προβολή πηγής. αναζήτηση για το string "BTS" που μπήκαμε στο πεδίο εισαγωγής. Σημειώστε τη θέση όπου η είσοδος τοποθετείται.   
Εικόνα 
 Δοκιμή 2:  Τώρα θέλουμε να ελέγξετε αν ο διακομιστής αποστειρώνουν εισόδου μας ή όχι. Για να το κάνετε αυτό, ας είσοδο την ετικέτα <script> μέσα στο πεδίο εισαγωγής.   
Εικόνα 
Δείτε τον πηγαίο κώδικα της σελίδας. Βρείτε τη θέση όπου εμφανίζεται είσοδο χώρα στην προηγούμενη δοκιμή.   
Εικόνα 
 Δόξα τω Θεώ, ο κώδικας μας δεν είναι να απολυμαίνονται με τον server και ο κωδικός είναι ακριβώς ίδιο με αυτό που μπήκαμε στο χώρο. Εάν ο διακομιστής αποστειρώνουν εισόδου μας, ο κώδικας μπορεί να μοιάζει με αυτό <script>. Αυτό υποδεικνύει ότι η ιστοσελίδα ευάλωτο σε επίθεση XSS και μπορούμε να εκτελέσει το δικό μας σενάρια.   Βήμα 3: Αξιοποίηση της ευπάθειας  Τώρα γνωρίζουμε ότι η περιοχή είναι κάπως ευάλωτη σε επιθέσεις XSS. Αλλά ας βεβαιωθούμε αν το site είναι εντελώς ευάλωτη σε αυτήν την επίθεση με την έγχυση ενός πλήρους κώδικα javascript. Για παράδειγμα, ας ειδοποίηση μας εισόδου <script> (BTS) </ script>.   
Εισαγωγή εικόνας... 
 Τώρα θα εμφανίσει pop-up παράθυρο με κορδόνι »BTS». Τέλος, θα αξιοποιηθεί ο XSS. Με την επέκταση του κώδικα με κακόβουλο script, ένας χάκερ μπορεί να κάνει κλέψει τα cookies ή παραμορφώνουν το site και περισσότερο.   
Εικόνα 
 Τύποι XSS βάση την συνεχιζόμενη ικανότητα:  Με βάση ένα Εμμονή ικανότητα, μπορούμε να κατηγοριοποιήσουμε την επίθεση XSS σε δύο κατηγορίες και συγκεκριμένα Επίμονη και μη-μόνιμα.   Επίμονη XSS:   Η συνεχής ή αποθηκευμένη επίθεση XSS συμβαίνει όταν ο κακόβουλος κώδικας που υπέβαλε εισβολέα αποθηκεύεται από το διακομιστή της βάσης δεδομένων, και στη συνέχεια σε μόνιμη βάση θα τρέξει στην κανονική σελίδα.   Για παράδειγμα:  Πολλές ιστοσελίδες φιλοξενήσει ένα φόρουμ υποστήριξης, όπου οι εγγεγραμμένοι χρήστες μπορούν να ζητήσουν τις αμφιβολίες τους με την ανάρτηση του μηνύματος, που είναι αποθηκευμένα στη βάση δεδομένων. Ας φανταστούμε, Ένας εισβολέας δημοσιεύσετε ένα μήνυμα που περιέχει κακόβουλο κώδικα javascript αντ 'αυτού. Εάν ο διακομιστής αποτύχει να απολυμάνετε το αρχικό πλαίσιο που παρέχεται, αυτό οδηγεί σε εκτέλεση της από ένεση σενάριο. Ο κώδικας θα εκτελεστεί κάθε φορά που ένας χρήστης προσπαθήσει να διαβάσετε το μήνυμα. Αν υποθέσουμε η ένεση κώδικα είναι μπισκότο κωδικό κλοπή, τότε θα κλέψει μπισκότο των χρηστών που διαβάσετε το μήνυμα. Χρησιμοποιώντας το cookie, εισβολέας μπορεί να πάρει τον έλεγχο του λογαριασμού σας.    Μη Επίμονη XSS:   Μη Επίμονη XSS, που αναφέρεται επίσης ως αντανακλάται XSS, είναι ο πιο κοινός τύπος του XSS βρέθηκε τώρα ημέρες. Σε αυτόν τον τύπο επίθεσης, η ένεση κωδικός θα σταλεί στο διακομιστή μέσω HTTPrequest. Ο διακομιστής embedd την είσοδο με το html αρχείο και να επιστρέψει το αρχείο (HTTPResponse) στο πρόγραμμα περιήγησης. Όταν ο browser εκτελεί το αρχείο HTML, επίσης εκτελέσει το ενσωματωμένο script. Αυτό το είδος της XSS ευπάθεια συμβαίνουν συχνά σε πεδία αναζήτησης.   Παράδειγμα:  Ας εξετάσει ένα σχέδιο που φιλοξενεί την ιστοσελίδα. Για να βρείτε το αγαπημένο μας πρόγραμμα, θα είμαστε απλά η είσοδος τη σχετική λέξη στο πλαίσιο αναζήτησης. Κατά την αναζήτηση ολοκληρωθεί, θα εμφανιστεί ένα μήνυμα όπως αυτό "τα αποτελέσματα αναζήτησης για yourword". Εάν ο διακομιστής αποτύχει να αποστειρώνουν την είσοδο σωστά, θα έχει ως αποτέλεσμα την εκτέλεση του σεναρίου ένεση.   Σε περίπτωση που αντανακλάται επιθέσεις XSS, εισβολέας θα στείλει το ειδικά δημιουργημένο σύνδεση με τα θύματα και να εξαπατήσει τους σε κάντε κλικ στο σύνδεσμο. Όταν ο χρήστης κάντε κλικ στο σύνδεσμο, ο browser θα στείλει αυτόν τον κώδικα στο διακομιστή, ο διακομιστής αντανακλά την επίθεση πίσω στη μηχανή αναζήτησης των χρηστών. Το πρόγραμμα περιήγησης εκτελεί στη συνέχεια τον κωδικό.   Εκτός από αυτούς τους τύπους, υπάρχει και τρίτο είδος της επίθεσης που ονομάζεται DOM Βασισμένο XSS επίθεση, θα εξηγήσω για την επίθεση σε μεταγενέστερες δημοσιεύσεις.   Τι μπορεί να κάνει ένας εισβολέας κάνει με αυτό το θέμα ευπάθειας;   
  • Η κλοπή ταυτότητας και τα εμπιστευτικά δεδομένα (στοιχεία πιστωτικής κάρτας).  
  • Παρακάμπτοντας τον περιορισμό σε ιστοσελίδες.  
  • Συνεδρία αεροπειρατεία (Stealing συνεδρία)  
  • Malware επίθεση  
  • Website μουντζούρα  
  • Οι επιθέσεις άρνησης υπηρεσίας (DoS)  

   
Disclaimer:  
Το άρθρο αυτό προορίζεται μόνο για εκπαιδευτικούς σκοπούς

1 σχόλιο: