λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

SQL Injection Tutorial

Οι αμυχές ένεση SQL που εκτελούνται σε διακομιστές που δεν έχουν την απαραίτητη ασφάλεια προγραμματισμού . Αυτές είναι συνήθως πραγματοποιείται σε διακομιστές όπου ο κώδικας ιστοσελίδα χρησιμοποιεί inline SQL , που σημαίνει ότι το ερώτημα είναι στον κώδικα ιστοσελίδα αντί να βρίσκεται σε μια αποθηκευμένη διαδικασία . Γνωρίζοντας πώς λειτουργεί ένα hack SQL ένεση βοηθά τους ιδιοκτήτες ιστοχώρου την προστασία των δεδομένων των πελατών και την εξασφάλιση των ιστοσελίδων . Το Μεταβλητό Φόρμα
Η

Το πρώτο βήμα στην κατανόηση του πώς δημιουργείται μια επίθεση SQL ένεση είναι αναπαράγοντας την προβλήματος . Οι SQL ένεση επιθέσεις επιτυγχάνεται μέσω μεταβλητών φόρμας σε μια σελίδα HTML . Δημιουργώντας τη φόρμα επιτρέπει στον webmaster να προσομοιώσει και να δοκιμάσουν την ασφάλεια του web server . Παρακάτω είναι ένα παράδειγμα ενός αντικειμένου φόρμας που χρησιμοποιείται για να δημιουργήσει μια επίθεση SQL ένεση .


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

Όταν οι δηλώσεις SQL γίνεται , η εφαρμογή βασίζεται SQL κώδικα που αποστέλλεται στη βάση δεδομένων . Όταν ένα string αποστέλλονται στη βάση δεδομένων , ο κώδικας μοιάζει κάτι σαν το παρακάτω κείμενο :

επιλέξτε * από MyTable όπου name = ' myVariableFromtheForm »

Το σήμα τσιμπούρι σηματοδοτεί το τέλος του κώδικα SQL , και αυτό είναι όπου στόχος χάκερ . Όταν ένα πλαίσιο κειμένου , όπως αυτή που δημιουργήθηκε στο τμήμα 1 χρησιμοποιείται για να οικοδομήσουμε μια σειρά , ένας χάκερ μπορεί να εισέλθει κάτι σαν το παρακάτω στο πλαίσιο κειμένου :

»ή 1 = 1 ? -

Αυτό μπορεί να μοιάζει σαν ασυναρτησίες , αλλά στην πραγματικότητα εγχέει κώδικα στη βάση δεδομένων που εκτελείται από το διακομιστή . Όταν το " myVariableFromtheForm " αντικαθίσταται από τον παραπάνω κώδικα , η δήλωση τρέχει από το διακομιστή που πράγματι μοιάζει σαν το παρακάτω :

επιλέξτε * από MyTable όπου name = '' ή 1 = 1 - «

η " - " είναι η σχόλια κώδικα για τον SQL Server , έτσι ώστε η τελευταία τερματισμού τσιμπούρι αγνοείται . Η τιμή είναι κενή και ο χάκερ διοχετεύει τον κωδικό " 1 = 1 " στη δήλωση. Αυτό που κάνει είναι να επιστρέψει κάθε γραμμή από τον πίνακα στον hacker . Αυτό είναι το πώς ένα αδίστακτο πρόσωπο κλέβει τις ιδιωτικές πληροφορίες από εξυπηρετητές βάσεων δεδομένων .

Η καθορισμό του προβλήματος
Η

Ο καλύτερος τρόπος για να διορθωθεί το πρόβλημα στον κώδικα που είναι ευπαθή σε ένα hack SQL ένεση είναι να χρησιμοποιήσετε τη λειτουργία "Αντικατάσταση" σε κάθε περίπτωση όπου το κείμενο εισάγεται από τους χρήστες . Για παράδειγμα , σε κώδικα ASP , η ακόλουθη γραμμή κώδικα αντικαθιστά το ενιαίο σήμα τσιμπούρι με δύο . Όταν ένας SQL Server εκτελεί κώδικα με δύο σημαδιών υποδιαίρεσης , να τα διαβάζει σαν γραμματική και το string δεν τερματίζεται

string.Replace ( " " , " '' ")? .

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα