Qu'est-ce qu'une Format String Vulnerability?

Pour comprendre ce qu'est une chaîne de format, la vulnérabilité est, vous devez d'abord savoir ce qu'est une chaîne de format est. Une chaîne de format est une manière de raconter comment le compilateur C, il convient format des numéros quand il les imprime.

Format Strings in C

Dans la programmation en langage C il ya un certain nombre de fonctions qui acceptent une chaîne de format comme un argument. Ces fonctions comprennent fprintf, printf, sprintf, snprintf, vfprintf, vprintf, vsprintf, vsnprintf, setproctitle, syslog, et autres.

La plus commune est printf. L'utilisation de printf est:

printf format [arguments ...]

printf sorties de la valeur de [arguments ...] dans le format spécifié par le format.

Un exemple d'appel à printf est:

printf ( "La zone de code est:% d \ n", 303);

Supported format specifiers diffèrent d'un compilateur C à l'autre. Les spécificateurs de format sont soutenus dans le cadre de FreeBSD:

% d Convertir entier décimal signé à chaîne.
% u Convertir entier en string unsigned décimale.
% i Convertir entier décimal signé à chaîne, l'entier mai soit en décimal, en octal (avec un 0) ou en hexadécimal (avec un 0x).
% o Convertir entier en octal unsigned chaîne.
% x ou% X Converti à unsigned integer chaîne hexadécimale, en utilisant uniquement des chiffres 0123456789abcdef `` x''pour''et `` 0123456789ABCDEF de X).
% c Converti à l'entier de caractères Unicode, il représente.
% s Pas de conversion, il suffit d'insérer chaîne.
% f Convertir nombre à virgule flottante à la décimale signée chaîne de la forme xx.yyy, où le nombre de y, est déterminée par la précision (par défaut: 6). Si la précision est de 0, aucun point décimal est la sortie.
% e ou% E Convertir nombre à virgule flottante à la notation scientifique, sous la forme x.yyye +-zz, où le nombre de y, est déterminée par la précision (par défaut: 6). Si la précision est de 0, aucun point décimal est la sortie. Si le formulaire est utilisé E alors E est imprimé au lieu de e.
% g ou% G Si l'exposant est inférieur à -4 ou supérieur ou égal à la précision, puis de convertir nombre à virgule flottante que pour% e ou% E. Sinon, pour convertir% f. Trailing zéros et un point décimal mobile sont omis.
%% Pas de conversion: il suffit d'insérer%.

Pour plus d'informations sur le format des prescripteurs, se reporter à la page de manuel de "format" sur votre système Unix le plus proche.

Format String Vulnerability attaques

Format string vulnerability attaques se répartissent en trois catégories: déni de service, de la lecture et l'écriture.

Autres sources d'information sur Format String Vulnerabilities

Pour de plus amples renseignements sur l'exploitation de vulnérabilités chaîne de format, reportez-vous à Exploiter Format String Vulnerabilities par SCUT, et Format String Attacks par Tim Newsham.

Writing Secure Code Building Secure Software Secure Coding Secure Programming Cookbook
Apprenez comment prévenir les vulnérabilités de chaîne de format de votre code source avec ces excellents livres sur la programmation sécurisée de Amazon.com


Top 5 Free Networking Tools

Vulnerability Management for Dummies

Nos amis sont à Qualys offre gratuitement des copies de la version électronique de Vulnerability Management for Dummies de Tech-FAQ lecteurs.

Vulnerability Management for Dummies:

  • Explique le besoin critique de gestion des vulnérabilités
  • Détails sur l'essentiel des meilleures pratiques des mesures de la réussite du programme de gestion des vulnérabilités
  • Présente les différentes solutions de gestion de la vulnérabilité - y compris les avantages et les inconvénients de chaque
  • Faits saillants de l'primé QualysGuard solution de gestion des vulnérabilités
  • Fournit une liste de dix points pour éliminer les vulnérabilités de vos ressources clés
Bookmark Qu'est-ce qu'une Format String Vulnerability?

Latest Blog Posts


Anglais Anglais Allemand Allemand Espagnol Espagnol Français Français Italien Italien Portugais Portugais Russe Russe Néerlandais Néerlandais
Grec Grec Hindi Hindi Japonais Japonais Coréen Coréen Chinois Chinois Chinois (simplifié) Chinois (simplifié) Arabe Arabe

Copyright 2009 Tech-FAQ. Tous droits réservés. Politique de confidentialité.