Δικτύωση

* Γνώση Υπολογιστών >> Δικτύωση >> Ασφάλεια Δικτύων

Πώς να Block SQL Ενέσεις

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

1 Βεβαιωθείτε ότι έχετε ορίσει τον τύπο εισόδου που απαιτείται κατά τη σύνταξη κώδικα SQL ερώτημά σας . Τα περισσότερα περιβάλλοντα ανάπτυξης επιτρέπουν να καθορίσετε "string " , " ακέραιο" ή " date" . Για παράδειγμα , η διεύθυνση URL

http://mysite.com/listauthordetails.aspx?user_id=1234

ερμηνεύεται από τη βάση δεδομένων , όπως

SELECT first_name , last_name ΑΠΟ χρήστες ΟΠΟΥ user_id = '1234 '

Αυτό το ερώτημα μπορεί να ξαναγραφεί για να

Dim ID ως String = Request.QueryString ( «ΑΑ»)

Dim cmd ως νέα SqlCommand ( " SELECT user_id ΑΠΟ ΟΠΟΥ χρήστες user_id = @ user_id " )

Δημ. param = νέα SqlParameter ( " user_id " , SqlDbType.VarChar )

param.Value = ID

cmd . Parameters.Add ( param )

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

Χρησιμοποιήστε το αρχείο. htaccess για να εμποδίσει παράνομες αιτήσεις πριν περάσει στη βάση δεδομένων , χρησιμοποιώντας το RewriteCond ( ) εντολή . Για παράδειγμα , για να εμποδίσει ένα σενάριο που προσπαθεί να τροποποιήσετε μια μεταβλητή ΑΙΤΗΣΗ , χρησιμοποιήστε τη γραμμή " RewriteCond % { } QUERY_STRING _REQUEST ( =

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

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