Τι είναι ένα κούρσας;
Μια κατάσταση κούρσας προκύπτει όταν πολλαπλές διαδικασίες πρόσβασης και διαχείρισης τα ίδια δεδομένα ταυτόχρονα, και το αποτέλεσμα της εκτέλεσης εξαρτάται από τη συγκεκριμένη σειρά με την οποία η πρόσβαση γίνεται.
Μια κατάσταση κούρσας είναι ενδιαφέρον σε έναν χάκερ όταν η κούρσας μπορεί να χρησιμοποιηθεί για να αποκτήσει προνομιακή πρόσβαση σύστημα.
Ας εξετάσουμε το ακόλουθο απόσπασμα κώδικα που απεικονίζει μια κούρσα προϋπόθεση:
if (access ( "/ tmp / αρχείο", R_OK) == 0) (
fd = open ( "/ tmp / αρχείο
διαδικασία (fd)?
κοντά (fd)?
Αυτός ο κώδικας δημιουργεί το προσωρινό αρχείο / tmp / αρχείο και στη συνέχεια να ανοίγει.
Το δυναμικό κούρσας προκύπτει μεταξύ της πρόσκλησης για την πρόσβαση () και την πρόσκληση για το άνοιγμα ().
Εάν ένας εισβολέας μπορεί να αντικαταστήσει τα περιεχόμενα του / tmp / αρχείο που μεταξύ της πρόσβασης () και ανοικτό () λειτουργίες, μπορεί να χειραγωγήσουν τις δράσεις του προγράμματος που χρησιμοποιεί το αρχείο. Αυτή είναι η φυλή.
Μπορεί να είναι δύσκολο να εκμεταλλευθεί κούρσας, γιατί μπορεί να χρειαστεί να "τρέχει την κούρσα" πολλές φορές, πριν να "κερδίσει". Ίσως χρειαστεί να εκτελέσετε το πρόγραμμα ευάλωτο και την ευπάθεια δοκιμές εργαλείο χιλιάδες φορές, πριν να πάρετε το expolit κώδικα προς εκτέλεση από την ευπάθεια ανοίγει και κλείνει πριν από την ευπάθεια. Μερικές φορές είναι δυνατόν να δοθεί η επίθεση ένα επιπλέον πλεονέκτημα με τη χρήση », ωραία», να μειώσουν την προτεραιότητα των νόμιμων suid πρόγραμμα.
Εσφαλμένη χρήση της λειτουργίας κλήσεις πρόσβασης (), chown (), chgrp (), chmod (), mktemp (), tempnam (), tmpfile (), και tmpnam () είναι οι συνήθεις αιτίες της κούρσας.
|
Ένα θέμα ευπάθειας Διαχείρισης για Ανδρείκελα
Τελευταίες θέσεις Blog
- SourceForge έναντι Freshmeat






