Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς μπορώ να υπερβάσεις & Format Bugs String Alter το Πρόγραμμα Ροή Προγράμματος σας

; υπερβάσεις Buffer και τη μορφή σφάλματα στοιχειοσειράς είναι δύο μέθοδοι από τις οποίες οι χρήστες μπορούν να αποκτήσουν τον έλεγχο ενός προγράμματος . Συνήθως βρίσκονται σε γλώσσες χαμηλότερου επιπέδου όπως η C ή C + + , και οι δύο βασίζονται στην ικανότητα ενός χάκερ να χειραγωγήσουν είσοδο χρήστη να εκτελέσει το πρόγραμμα με άλλους τρόπους από ό, τι επρόκειτο να γίνει . Υπερβάσεις του buffer βασίζονται σε έλλειψη μέτρων ασφαλείας γύρω από την είσοδο του χρήστη , ενώ σφάλματα μορφή συμβολοσειράς συμβαίνουν μέσα στο πραγματικό λειτουργία εισόδου /εξόδου μιας γλώσσας προγραμματισμού . Η κατανόηση του πώς λειτουργεί το καθένα απαιτεί την κατανόηση του γιατί αυτά συμβαίνουν στον κώδικα . Η υπέρβαση του buffer
Η

Μια υπέρβαση του buffer μπορεί να συμβεί κατά τη διάρκεια της εκτέλεσης του προγράμματος , όταν μια δομή δεδομένων ρυθμιστικό σκοπό να χειριστεί είσοδο χρήστης έχει πάρα πολλά στοιχεία για να χειριστεί . Για παράδειγμα , ένας προγραμματιστής μπορεί να δηλώσει μια δομή πίνακα που περιέχει χαρακτήρες για να λάβει τα στοιχεία log-in χρήστη . Ο προγραμματιστής μπορεί να επιλέξει να περιορίσει το μέγεθος της συστοιχίας σε 25 χαρακτήρων. Αν ο προγραμματιστής δεν τίθεται κανένα διασφαλίσεις , ο χρήστης μπορεί να εισάγει αυθαίρετα το ποσό των δεδομένων ως log-in όνομα . Όταν ο χρήστης κάνει αυτό , οι επιπλέον χαρακτήρες πέραν του 25 ανατρέψουν το χώρο μνήμης του πίνακα και τα δεδομένα σε γειτονικές θέσεις μνήμης . Αυτό ονομάζεται υπέρβαση του buffer .
Εικόνων Buffer Υπέρβαση και Ασφάλειας
Η

Hackers μπορούν να επωφεληθούν από υπερβάσεις του buffer για να αλλάξει την πορεία της εκτέλεσης του προγράμματος . Εάν ένας χάκερ ξέρει πώς λειτουργεί ένα πρόγραμμα , στη συνέχεια, ξέρει επίσης τι είδους δεδομένα είναι κοντά στο χαρακτήρα του πίνακα. Σε προγραμματισμού C , οι μεταβλητές και οι αναφορές λειτουργίας αποθηκεύονται στη μνήμη. Αν μια μεταβλητή ή συνάρτηση αναφοράς κατοικεί κοντά στον πίνακα , ένας χάκερ μπορεί να υπερβεί τον πίνακα με τέτοιο τρόπο ώστε να αλλάξετε την τιμή μιας μεταβλητής , έτσι ώστε να επιτρέψει συνδεθείτε με ψευδείς πιστοποιήσεις . Ο χάκερ μπορεί να αλλοιώσει επίσης μια λειτουργία , ώστε να εκτελεί κακόβουλο κώδικα , και επιτρέπει την χάκερ στο σύστημα .

Η Format Χορδές
Η

A " format string" αντιπροσωπεύει ένα συγκεκριμένο επιχείρημα που παρέχονται σε λειτουργίες εισόδου και εξόδου σε C. για παράδειγμα , το " printf ( ) " λειτουργία έχει ως πρώτο επιχείρημα του ένα string format που περιγράφει με λεπτομέρειες πώς η παραγωγή θα πρέπει να κοιτάξουμε προς το χρήστη . Μετά από αυτό, η printf () συνάρτηση παίρνει μια λίστα μεταβλητών των επιχειρημάτων που αντιπροσωπεύουν τα δεδομένα εξόδου ως διαμορφωθεί από το string format . Αυτό το παράδειγμα που ακολουθεί περιγράφει λεπτομερώς πώς ένα string μορφή λειτουργεί στο πλαίσιο , με ένα string format που περιέχει ένα χαρακτήρα μορφή ( "% d" ), το οποίο σημαίνει ότι ένα επιχείρημα ακέραιος θα αντικαταστήσει τον χαρακτήρα στην έξοδο :

printf ( "This είναι το string format , που ακολουθείται από έναν ακέραιο αριθμό για να εκτυπώσετε % d " , 56) ?
εικόνων Format Χορδές και Ασφάλειας
Η

θέματα ασφάλειας μορφή συμβολοσειράς συμβαίνουν όταν ένας χρήστης καταφέρνει να εισάγετε ένα string format που περιέχει τη μορφοποίηση χαρακτήρων που δεν προορίζονται από τον προγραμματιστή . Όταν μια συνάρτηση printf ( ) καλείται , το string format και τα επιχειρήματα μετά από αυτήν ωθούνται στη μνήμη , και η λειτουργία " βόλτες " μέσα από τη μνήμη , την αντικατάσταση όλων των μορφοποίηση χαρακτήρων με τιμές σε αντίστοιχες θέσεις μνήμης . Εάν ένας χάκερ εισάγει τη μορφοποίηση χαρακτήρων σε μια συμβολοσειρά , που μπορεί ενδεχομένως να διαβάσει τις τιμές των δεδομένων που βρίσκονται οπουδήποτε γύρω από το ξενοδοχείο στη στοίβα - και αν μπορεί να διαβάσει τη στοίβα , ξέρει πώς και πού να αλλάξει τα δεδομένα και να χειριστούν την εκτέλεση του προγράμματος
.

εικόνων

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

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