Τι είναι το Format String Vulnerability;

Για να καταλάβετε τι μορφή string ευπάθεια είναι, πρέπει πρώτα να γνωρίζουμε τι μορφή string είναι. Μια συμβολοσειρά μορφής είναι ένας τρόπος να λέει στους C μεταγλωττιστή πώς πρέπει μορφή αριθμών κατά την εκτύπωση τους.

Format Strings στη C

Στη γλώσσα προγραμματισμού C, υπάρχουν μια σειρά από λειτουργίες που θα αποδεχθούν τη μορφή string ως επιχείρημα. Αυτές οι λειτουργίες περιλαμβάνουν fprintf, printf, sprintf, snprintf, vfprintf, vprintf, vsprintf, vsnprintf, setproctitle, syslog, και άλλα.

Οι πιο κοινές από αυτές είναι printf. Η χρήση των printf είναι:

printf μορφή [επιχειρήματα ...]

printf αποτελεσμάτων της αξίας της [επιχειρήματα ...] με τη μορφή που καθορίζεται από την μορφή.

Ένα παράδειγμα για να καλέσετε printf είναι:

printf ( "Ο κωδικός περιοχής είναι:% d \ n", 303)?

Υποστηριζόμενα format specifiers διαφέρουν από το ένα της C στο επόμενο. Η μορφή που υποστηρίζονται στο πλαίσιο specifiers FreeBSD είναι:

δ% Μετατροπή ακέραιο να υπογραφεί δεκαδικό string.
% u Μετατροπή ακέραιο να unsigned δεκαδικό string.
% i Μετατροπή ακέραιο να υπογραφεί δεκαδικό string? Ο ακέραιος μπορεί να είναι είτε σε δεκαδικό, στο οκταδικό (με ηγετικό 0) ή σε δεκαεξαδική (με ηγετικό 0x).
o% Μετατροπή ακέραιο να unsigned octal string.
% Χ% ή Χ Μετατροπή ακέραιο να unsigned δεκαεξαδικό string, χρησιμοποιώντας ψηφία 0123456789abcdef ``''για x και''για 0123456789ABCDEF `` X).
γ% Μετατροπή σε ακέραιο το χαρακτήρα Unicode που αντιπροσωπεύει.
% s Δεν μετατροπής? Απλά εισάγετε string.
% f Μετατροπή αριθμό κινητής υποδιαστολής να υπογραφεί δεκαδικό string της μορφής xx.yyy, όπου ο αριθμός των y της καθορίζεται από την ακρίβεια (default: 6). Εάν η ακρίβεια είναι 0 τότε δεν δεκαδικό ψηφίο είναι εξόδου.
% e% ή E Μετατροπή αριθμού κινητής υποδιαστολής σε επιστημονική σημειογραφία, με τη μορφή x.yyye +-zz, όπου ο αριθμός των y της καθορίζεται από την ακρίβεια (default: 6). Εάν η ακρίβεια είναι 0 τότε δεν δεκαδικό ψηφίο είναι εξόδου. Εάν το έντυπο χρησιμοποιείται Ε Ε τότε, αντί να είναι τυπωμένη ε.
%% g ή G Αν ο εκθέτης είναι μικρότερη από -4 ή μεγαλύτερη ή ίση με την ακρίβεια, η μετατροπή κινητής υποδιαστολής αριθμό ως% για e% ή Ε. Διαφορετικά, όπως για τη μετατροπή% στ. Καταβιβαζόμενου μηδενικά και ένα δεκαδικό σημείο καταβιβαζόμενου παραλείπονται.
%% Δεν μετατροπής: απλά τοποθετήστε%.

Για περισσότερες πληροφορίες σχετικά με τη μορφή specifiers, ανατρέξτε στην σελίδα για τον άνθρωπο "μορφή" σχετικά με το πλησιέστερο Unix σύστημα.

Format String Vulnerability Επιθέσεις

Format string ευπάθεια επιθέσεις εντάσσονται σε τρεις κατηγορίες: την άρνηση υπηρεσίας, την ανάγνωση και τη γραφή.

Διάφορες πηγές πληροφόρησης σχετικά με Format String Vulnerabilities

Για περισσότερες πληροφορίες σχετικά με την αξιοποίηση της μορφής ευπάθειες, ανατρέξτε στην Αξιοποίηση Format String Vulnerabilities με κοντή ουρά, και Format String Επιθέσεις από Tim Newsham.

Writing Secure Code Building Secure Software Ασφαλής και κωδικοποίησης των εμπορευμάτων Ασφαλής Προγραμματισμός Cookbook
Μάθετε πώς να αποφευχθεί μορφής ευπάθειες σε σας πηγαίου κώδικα με αυτά τα εξαιρετικά βιβλία για την ασφαλή προγραμματισμό από Amazon.com


Top 5 Free δικτύωση Εργαλεία

Ένα θέμα ευπάθειας Διαχείρισης για Ανδρείκελα

Οι φίλοι μας στο Qualys προσφέρουν δωρεάν αντίγραφα της ηλεκτρονικής μορφής των Vulnerability Management για να Ανδρείκελα Tech-Συχνές ερωτήσεις αναγνωστών.

Ένα θέμα ευπάθειας Διαχείρισης για Ανδρείκελα:

  • Εξηγεί την ανάγκη για διαχείριση της ευπάθειας
  • Στοιχεία τα βασικά βήματα βέλτιστες πρακτικές για ένα επιτυχές πρόγραμμα διαχείρισης της ευπάθειας
  • Περιγράφει τις διάφορες λύσεις διαχείρισης της ευπάθειας - συμπεριλαμβανομένων των πλεονεκτημάτων και μειονεκτημάτων της κάθε
  • Σημαντικά γεγονότα το βραβευμένο QualysGuard ευπάθεια λύση διαχείρισης
  • Παρέχει τις δέκα το σημείο ελέγχου για την αφαίρεση από τα τρωτά σημεία σας βασικούς πόρους
Bookmark Τι είναι ένα Format String Vulnerability;

Τελευταίες θέσεις Blog


Αγγλικά Αγγλικά Γερμανικά Γερμανικά Ισπανικά Ισπανικά Γαλλικά Γαλλικά Ιταλικά Ιταλικά Πορτογαλικά Πορτογαλικά Ρωσικά Ρωσικά Ολλανδικά Ολλανδικά
Ελληνικά Ελληνικά Χίντι Χίντι Ιαπωνικά Ιαπωνικά Κορεατικά Κορεατικά Κινεζικά Κινεζικά Κινέζικα (απλοποιημένα) Κινέζικα (απλοποιημένα) Αραβικά Αραβικά

Copyright 2009-Tech FAQ. Με επιφύλαξη κάθε νόμιμου δικαιώματος. Πολιτική Προστασίας Προσωπικών Δεδομένων.