Πώς να χαράξετε έναν ιστότοπο: Παραβίαση διαδικτυακών ιστοτόπων Παράδειγμα

Πίνακας περιεχομένων:

Anonim

Περισσότεροι άνθρωποι έχουν πρόσβαση στο Διαδίκτυο από ποτέ. Αυτό ώθησε πολλούς οργανισμούς να αναπτύξουν διαδικτυακές εφαρμογές που οι χρήστες μπορούν να χρησιμοποιούν διαδικτυακά για να αλληλεπιδρούν με τον οργανισμό. Ο κακός γραπτός κώδικας για εφαρμογές Ιστού μπορεί να αξιοποιηθεί για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση σε ευαίσθητα δεδομένα και διακομιστές ιστού.

Σε αυτό το σεμινάριο θα μάθετε πώς να εισπράττετε ιστότοπους και θα σας παρουσιάσουμε τις τεχνικές πειρατείας εφαρμογών ιστού και τα αντίμετρα μέτρα που μπορείτε να εφαρμόσετε για την προστασία από τέτοιες επιθέσεις .

Θέματα που καλύπτονται σε αυτό το σεμινάριο

  • Τι είναι μια εφαρμογή Ιστού; Τι είναι οι απειλές στο Διαδίκτυο;
  • Πώς να προστατεύσετε τον ιστότοπό σας από παραβιάσεις;
  • Κόλπα εισβολής ιστοτόπων: Hack διαδικτυακού τόπου διαδικτυακά!

Τι είναι μια εφαρμογή Ιστού; Τι είναι οι απειλές στο Διαδίκτυο;

Μια εφαρμογή Ιστού (γνωστός και ως ιστότοπος) είναι μια εφαρμογή που βασίζεται στο μοντέλο διακομιστή-πελάτη. Ο διακομιστής παρέχει πρόσβαση στη βάση δεδομένων και την επιχειρηματική λογική. Φιλοξενείται σε διακομιστή ιστού. Η εφαρμογή πελάτη εκτελείται στο πρόγραμμα περιήγησης ιστού πελάτη. Οι εφαρμογές Web γράφονται συνήθως σε γλώσσες όπως Java, C # και VB.Net, PHP, ColdFusion Markup Language κ.λπ. οι μηχανές βάσης δεδομένων που χρησιμοποιούνται σε εφαρμογές web περιλαμβάνουν MySQL, MS SQL Server, PostgreSQL, SQLite κ.λπ.

Οι περισσότερες εφαρμογές ιστού φιλοξενούνται σε δημόσιους διακομιστές προσβάσιμους μέσω του Διαδικτύου. Αυτό τα καθιστά ευάλωτα σε επιθέσεις λόγω εύκολης προσβασιμότητας. Τα ακόλουθα είναι κοινές απειλές εφαρμογών ιστού.

  • SQL Injection - ο στόχος αυτής της απειλής θα μπορούσε να είναι η παράκαμψη αλγορίθμων σύνδεσης, η σαμποτάζ των δεδομένων κ.λπ.
  • Επιθέσεις άρνησης υπηρεσίας - ο στόχος αυτής της απειλής θα μπορούσε να είναι η άρνηση πρόσβασης νόμιμων χρηστών στον πόρο
  • Cross Site Scripting XSS - ο στόχος αυτής της απειλής θα μπορούσε να είναι η εισαγωγή κώδικα που μπορεί να εκτελεστεί στο πρόγραμμα περιήγησης του πελάτη.
  • Cookie / Session Poisoning - ο στόχος αυτής της απειλής είναι να τροποποιήσετε τα δεδομένα cookie / περιόδου σύνδεσης από έναν εισβολέα για να αποκτήσετε μη εξουσιοδοτημένη πρόσβαση.
  • Form Tampering - ο στόχος αυτής της απειλής είναι η τροποποίηση δεδομένων φόρμας, όπως οι τιμές σε εφαρμογές ηλεκτρονικού εμπορίου, έτσι ώστε ο εισβολέας να μπορεί να πάρει αντικείμενα σε μειωμένες τιμές.
  • Code Injection - ο στόχος αυτής της απειλής είναι η εισαγωγή κώδικα όπως PHP, Python κ.λπ. που μπορεί να εκτελεστεί στον διακομιστή. Ο κώδικας μπορεί να εγκαταστήσει εξωτερικούς χώρους, να αποκαλύψει ευαίσθητες πληροφορίες κ.λπ.
  • Αλλαγή - ο στόχος αυτής της απειλής είναι η τροποποίηση της σελίδας που εμφανίζεται σε έναν ιστότοπο και η ανακατεύθυνση όλων των αιτημάτων σελίδας σε μία σελίδα που περιέχει το μήνυμα του εισβολέα.

Πώς να προστατεύσετε τον ιστότοπό σας από παραβιάσεις;

Ένας οργανισμός μπορεί να υιοθετήσει την ακόλουθη πολιτική για να προστατευτεί από επιθέσεις διακομιστή ιστού.

  • SQL Injection - η απολύμανση και η επικύρωση των παραμέτρων του χρήστη πριν από την υποβολή τους στη βάση δεδομένων για επεξεργασία μπορεί να συμβάλει στη μείωση των πιθανοτήτων επίθεσης μέσω του SQL Injection. Οι μηχανές βάσεων δεδομένων, όπως MS SQL Server, MySQL, κ.λπ. υποστηρίζουν παραμέτρους και προετοιμασμένες δηλώσεις. Είναι πολύ πιο ασφαλείς από τις παραδοσιακές δηλώσεις SQL
  • Επιθέσεις άρνησης εξυπηρέτησης - τα τείχη προστασίας μπορούν να χρησιμοποιηθούν για τη μείωση της κίνησης από ύποπτη διεύθυνση IP εάν η επίθεση είναι απλή DoS. Η σωστή διαμόρφωση των δικτύων και το σύστημα ανίχνευσης εισβολής μπορεί επίσης να μειώσει τις πιθανότητες επιτυχίας μιας επίθεσης DoS.
  • Cross Site Scripting - επικύρωση και απολύμανση κεφαλίδων, παράμετροι που περνούν μέσω της διεύθυνσης URL, παράμετροι φόρμας και κρυφές τιμές μπορούν να βοηθήσουν στη μείωση των επιθέσεων XSS.
  • Cookie / Session Poisoning - αυτό μπορεί να αποφευχθεί με την κρυπτογράφηση των περιεχομένων των cookies, το χρονικό όριο των cookie μετά από κάποιο χρονικό διάστημα, τη σύνδεση των cookies με τη διεύθυνση IP του πελάτη που χρησιμοποιήθηκε για τη δημιουργία τους.
  • Μείωση φόρμας - αυτό μπορεί να αποφευχθεί με την επικύρωση και την επαλήθευση της εισόδου χρήστη πριν την επεξεργασία.
  • Code Injection - αυτό μπορεί να αποφευχθεί αντιμετωπίζοντας όλες τις παραμέτρους ως δεδομένα και όχι εκτελέσιμο κώδικα. Η εξυγίανση και η επικύρωση μπορούν να χρησιμοποιηθούν για την εφαρμογή αυτού.
  • Deflace - μια καλή πολιτική ασφάλειας ανάπτυξης εφαρμογών ιστού θα πρέπει να διασφαλίζει ότι σφραγίζει τις ευπαθείς κοινές χρήσεις για πρόσβαση στον διακομιστή ιστού. Αυτό μπορεί να είναι η σωστή διαμόρφωση του λειτουργικού συστήματος, του λογισμικού διακομιστή ιστού και των βέλτιστων πρακτικών ασφάλειας κατά την ανάπτυξη εφαρμογών ιστού.

Κόλπα παραβίασης ιστοτόπων: Hack διαδικτυακού τόπου διαδικτυακά

Σε αυτό το πρακτικό σενάριο χάραξης ιστότοπου, πρόκειται να εισβάλουμε στη συνεδρία χρήστη της εφαρμογής ιστού που βρίσκεται στη διεύθυνση www.techpanda.org. Θα χρησιμοποιήσουμε δέσμες ενεργειών μεταξύ ιστότοπων για να διαβάσουμε το αναγνωριστικό περιόδου σύνδεσης cookie και στη συνέχεια θα το χρησιμοποιήσουμε για την πλαστοπροσωπία μιας νόμιμης περιόδου σύνδεσης χρήστη.

Η υπόθεση που έγινε είναι ότι ο εισβολέας έχει πρόσβαση στην εφαρμογή Ιστού και θα ήθελε να πειραχτεί τις συνεδρίες άλλων χρηστών που χρησιμοποιούν την ίδια εφαρμογή. Ο στόχος αυτής της επίθεσης θα μπορούσε να είναι η απόκτηση πρόσβασης διαχειριστή στην εφαρμογή ιστού, με την προϋπόθεση ότι ο λογαριασμός πρόσβασης του εισβολέα είναι περιορισμένος.

Ξεκινώντας

  • Άνοιγμα http://www.techpanda.org/
  • Για πρακτικούς σκοπούς, συνιστάται ιδιαίτερα να αποκτήσετε πρόσβαση χρησιμοποιώντας SQL Injection. Ανατρέξτε σε αυτό το άρθρο για περισσότερες πληροφορίες σχετικά με το πώς να το κάνετε αυτό.
  • Το email σύνδεσης είναι Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Πρέπει να έχετε ενεργοποιημένη τη Javascript για να το δείτε., Ο κωδικός πρόσβασης είναι Password2010
  • Εάν έχετε συνδεθεί με επιτυχία, θα λάβετε τον ακόλουθο πίνακα ελέγχου
  • Κάντε κλικ στο Προσθήκη νέας επαφής
  • Εισαγάγετε τα ακόλουθα ως το όνομα

Σκούρο

ΕΔΩ,

Ο παραπάνω κώδικας χρησιμοποιεί JavaScript . Προσθέτει έναν υπερσύνδεσμο με ένα συμβάν onclick . Όταν ο ανυποψίαστος χρήστης κάνει κλικ στο σύνδεσμο, το συμβάν ανακτά το αναγνωριστικό περιόδου σύνδεσης cookie PHP και το στέλνει στη σελίδα snatch_sess_id.php μαζί με το αναγνωριστικό περιόδου σύνδεσης στη διεύθυνση URL

  • Εισαγάγετε τις υπόλοιπες λεπτομέρειες όπως φαίνεται παρακάτω
  • Κάντε κλικ στο Αποθήκευση αλλαγών
  • Ο πίνακας ελέγχου θα μοιάζει τώρα με την ακόλουθη οθόνη
  • Δεδομένου ότι ο κωδικός δέσμης ενεργειών μεταξύ ιστότοπων είναι αποθηκευμένος στη βάση δεδομένων, θα φορτώνεται κάθε φορά που οι χρήστες έχουν δικαιώματα πρόσβασης
  • Ας υποθέσουμε ότι ο διαχειριστής συνδέεται και κάνει κλικ στον υπερσύνδεσμο που λέει Dark
  • Θα πάρει το παράθυρο με το αναγνωριστικό περιόδου λειτουργίας να εμφανίζεται στη διεύθυνση URL

Σημείωση : το σενάριο θα μπορούσε να στέλνει την τιμή σε κάποιο απομακρυσμένο διακομιστή όπου είναι αποθηκευμένο το PHPSESSID και στη συνέχεια ο χρήστης ανακατευθύνθηκε στον ιστότοπο σαν να μην συνέβη τίποτα.

Σημείωση : η τιμή που λαμβάνετε μπορεί να είναι διαφορετική από αυτήν σε αυτό το σεμινάριο χάραξης ιστοσελίδων, αλλά η ιδέα είναι η ίδια

Απομίμηση περιόδου σύνδεσης με χρήση του πρόσθετου Firefox και Tamper Data

Το διάγραμμα ροής παρακάτω δείχνει τα βήματα που πρέπει να ακολουθήσετε για να ολοκληρώσετε αυτήν την άσκηση.

  • Θα χρειαστείτε πρόγραμμα περιήγησης ιστού Firefox για αυτήν την ενότητα και πρόσθετο Tamper Data
  • Ανοίξτε τον Firefox και εγκαταστήστε την προσθήκη όπως φαίνεται στα παρακάτω διαγράμματα
  • Αναζητήστε δεδομένα παραβίασης και κάντε κλικ στην εγκατάσταση όπως φαίνεται παραπάνω
  • Κάντε κλικ στο Αποδοχή και εγκατάσταση…
  • Κάντε κλικ στο Επανεκκίνηση τώρα όταν ολοκληρωθεί η εγκατάσταση
  • Ενεργοποιήστε τη γραμμή μενού στον Firefox εάν δεν εμφανίζεται
  • Κάντε κλικ στο μενού εργαλείων και, στη συνέχεια, επιλέξτε Tamper Data όπως φαίνεται παρακάτω
  • Θα λάβετε το ακόλουθο παράθυρο. Σημείωση: Εάν τα Windows δεν είναι κενά, πατήστε το κουμπί διαγραφής
  • Κάντε κλικ στο μενού Έναρξη παραβίασης
  • Επιστρέψτε στο πρόγραμμα περιήγησης ιστού Firefox, πληκτρολογήστε http://www.techpanda.org/dashboard.php και στη συνέχεια πατήστε το πλήκτρο Enter για να φορτώσετε τη σελίδα
  • Θα λάβετε το ακόλουθο αναδυόμενο παράθυρο από το Tamper Data
  • Το αναδυόμενο παράθυρο έχει τρεις (3) επιλογές. Η επιλογή Tamper σάς επιτρέπει να τροποποιήσετε τις πληροφορίες κεφαλίδας HTTP προτού υποβληθούν στον διακομιστή .
  • Κάντε κλικ σε αυτό
  • Θα λάβετε το ακόλουθο παράθυρο
  • Αντιγράψτε το αναγνωριστικό περιόδου σύνδεσης PHP που αντιγράψατε από το URL επίθεσης και επικολλήστε το μετά το σύμβολο ίσου. Η αξία σας πρέπει τώρα να μοιάζει με αυτήν

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Κάντε κλικ στο κουμπί OK
  • Θα λάβετε ξανά το αναδυόμενο παράθυρο Tamper data
  • Καταργήστε την επιλογή του πλαισίου ελέγχου που ζητά Συνέχεια παραβίασης;
  • Κάντε κλικ στο κουμπί υποβολής όταν τελειώσετε
  • Θα πρέπει να μπορείτε να δείτε τον πίνακα ελέγχου όπως φαίνεται παρακάτω

Σημείωση : δεν πραγματοποιήσαμε είσοδο, πλαστοπροσωπήσαμε μια συνεδρία σύνδεσης χρησιμοποιώντας την τιμή PHPSESSID που ανακτήσαμε χρησιμοποιώντας scripting μεταξύ ιστότοπων

Περίληψη

  • Μια εφαρμογή Ιστού βασίζεται στο μοντέλο διακομιστή-πελάτη. Η πλευρά του πελάτη χρησιμοποιεί το πρόγραμμα περιήγησης ιστού για πρόσβαση στους πόρους του διακομιστή.
  • Οι διαδικτυακές εφαρμογές είναι συνήθως προσβάσιμες μέσω του Διαδικτύου. Αυτό τους καθιστά ευάλωτους σε επιθέσεις.
  • Οι απειλές εφαρμογών ιστού περιλαμβάνουν SQL Injection, Code Injection, XSS, Defacement, Cookie poisoning κ.λπ.
  • Μια καλή πολιτική ασφάλειας κατά την ανάπτυξη εφαρμογών ιστού μπορεί να τις κάνει ασφαλείς.