Διαφορά μεταξύ XSS και SQL Injection

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

Διαφορά μεταξύ XSS και SQL Injection
Διαφορά μεταξύ XSS και SQL Injection

Βίντεο: Διαφορά μεταξύ XSS και SQL Injection

Βίντεο: Διαφορά μεταξύ XSS και SQL Injection
Βίντεο: Wana Decrypt0r (Wanacry Ransomware) - Computerphile 2024, Νοέμβριος
Anonim

Η βασική διαφορά μεταξύ XSS και SQL Injection είναι ότι το XSS (ή Cross Site Scripting) είναι ένας τύπος ευπάθειας ασφαλείας υπολογιστή που εισάγει κακόβουλο κώδικα στον ιστότοπο, έτσι ώστε ο κώδικας να εκτελείται στους χρήστες αυτού του ιστότοπου από τον πρόγραμμα περιήγησης ενώ η ένεση SQL είναι ένας άλλος μηχανισμός παραβίασης ιστότοπου που προσθέτει κώδικα SQL σε ένα πλαίσιο εισαγωγής φόρμας ιστού για να αποκτήσει πρόσβαση σε πόρους ή για να κάνει αλλαγές στα δεδομένα.

Κάθε οργανισμός διατηρεί ιστότοπους, οι οποίοι συμβάλλουν στη βελτίωση της επιχείρησης και της κερδοφορίας. Μια εφαρμογή Ιστού περιέχει την πλευρά του πελάτη και την πλευρά του διακομιστή. Η πλευρά του πελάτη περιλαμβάνει τις διεπαφές χρήστη για την αλληλεπίδραση με την εφαρμογή. Η πλευρά του διακομιστή περιλαμβάνει τη βάση δεδομένων. Συνήθως, υπάρχουν απειλές που επηρεάζουν την καλή λειτουργία της εφαρμογής. Δύο από αυτά είναι XSS και SQL injection.

Τι είναι το XSS;

Το XSS σημαίνει Cross Site Scripting και είναι μία από τις πιο κοινές επιθέσεις ιστότοπου. Μπορεί να επηρεάσει τον συγκεκριμένο ιστότοπο καθώς και τους χρήστες αυτού του ιστότοπου. Η πιο κοινή γλώσσα για τη σύνταξη κακόβουλου κώδικα για επίθεση XSS είναι η JavaScript. Το XSS μπορεί να κλέψει τα cookie του χρήστη, να αλλάξει τις ρυθμίσεις χρήστη, να εμφανίσει διάφορες λήψεις κακόβουλου λογισμικού και πολλά άλλα.

Βασική διαφορά μεταξύ XSS και SQL Injection
Βασική διαφορά μεταξύ XSS και SQL Injection

Εικόνα 01: XSS

Υπάρχουν δύο τύποι XSS. Είναι το επίμονο και μη επίμονο XSS. Στο μόνιμο XSS, ο κακόβουλος κώδικας αποθηκεύεται στον διακομιστή της βάσης δεδομένων. Στη συνέχεια θα τρέξει στην κανονική σελίδα. Σε μη μόνιμο XSS, ο κακόβουλος κώδικας που έχει εισαχθεί θα σταλεί στον διακομιστή μέσω αιτήματος HTTP. Συνήθως, αυτές οι επιθέσεις μπορούν να συμβούν σε πεδία αναζήτησης.

Τι είναι το SQL Injection;

Το SQL Injection είναι ένας άλλος μηχανισμός παραβίασης ιστοτόπων. Τοποθετεί έναν κακόβουλο κώδικα σε δηλώσεις SQL μέσω εισαγωγής ιστοσελίδας. Ένας ιστότοπος περιέχει φόρμες για τη συλλογή των εισροών των χρηστών. Όταν ζητείται από τον χρήστη εισαγωγή, όπως όνομα χρήστη, userid, μπορεί να παρέχει μια δήλωση SQL αντί για όνομα και αυτό. Έτσι, μπορεί να εκτελεστεί στη βάση δεδομένων του ιστότοπου.

Διαφορά μεταξύ XSS και SQL Injection
Διαφορά μεταξύ XSS και SQL Injection

Εικόνα 02: Έγχυση SQL

Επιπλέον, λίγα παραδείγματα SQL Injections είναι τα εξής:

Μπορεί να υπάρξει μια κατάσταση αναζήτησης ενός χρήστη μέσω του userid. Εάν δεν υπάρχει μέθοδος επικύρωσης εισόδου, ο χρήστης μπορεί να εισάγει λάθος είσοδο. Εάν εισάγει το userid ως 100 Ή 1=1, θα δημιουργήσει μια δήλωση SQL ως εξής.

selectαπό χρήστες όπου userid=100 ή 1=1;

Αυτή η δήλωση SQL μπορεί να επιστρέψει όλους τους χρήστες στη βάση δεδομένων, επειδή το 1=1 είναι πάντα αληθές. Εάν επρόκειτο για χάκερ και εάν η βάση δεδομένων περιείχε εμπιστευτικά δεδομένα, όπως κωδικούς πρόσβασης, τότε μπορεί να αποκτήσει πρόσβαση στα ονόματα χρήστη και τους κωδικούς πρόσβασης. Αυτό είναι ένα παράδειγμα για το SQL Injection.

Ποια είναι η διαφορά μεταξύ XSS και SQL Injection;

Το XSS είναι ένας τύπος ευπάθειας ασφαλείας υπολογιστή σε εφαρμογές ιστού που επιτρέπει στους εισβολείς να εισάγουν σενάρια από την πλευρά του πελάτη σε ιστοσελίδες που προβάλλονται από άλλους χρήστες. Η ένεση SQL είναι μια τεχνική έγχυσης κώδικα, η οποία επιτίθεται σε εφαρμογές που βασίζονται σε δεδομένα και εισάγουν δηλώσεις SQL σε μια καταχώρηση που έχει κατατεθεί για εκτέλεση.

Το XSS εισάγει κακόβουλο κώδικα στον ιστότοπο, έτσι ώστε ο κώδικας να εκτελείται στους χρήστες αυτού του ιστότοπου από το πρόγραμμα περιήγησης. Από την άλλη πλευρά, η ένεση SQL προσθέτει κώδικα SQL σε ένα πλαίσιο εισαγωγής φόρμας ιστού για να αποκτήσει πρόσβαση σε πόρους ή για να κάνει αλλαγές στα δεδομένα. Αυτή είναι η κύρια διαφορά μεταξύ XSS και SQL Injection. Η πιο κοινή γλώσσα για το XSS είναι η JavaScript ενώ η ένεση SQL χρησιμοποιεί SQL.

Διαφορά μεταξύ XSS και SQL Injection σε μορφή πίνακα
Διαφορά μεταξύ XSS και SQL Injection σε μορφή πίνακα

Σύνοψη – XSS vs SQL Injection

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

Συνιστάται: