Wat is een format string kwetsbaarheid?

Om te begrijpen wat een format string kwetsbaarheid is, moet u eerst weten wat een format string is. Een format string is een manier van vertellen de C compiler hoe het moet formaat nummers als het afdrukken ervan.

Format strings in C

In de C-programmeertaal zijn er een aantal functies die met een format string als argument. Deze functies omvatten fprintf, printf, sprintf, snprintf, vfprintf, vprintf, vsprintf, vsnprintf, setproctitle, syslogd en anderen.

De meest voorkomende van deze is printf. Het gebruik van printf is:

printf format [argumenten ...]

printf uitgangen de waarde van [argumenten ...] in het formaat van formaat.

Een voorbeeld te noemen printf is:

printf ( "De oppervlakte is:% d \ n", 303);

Ondersteund formaat specifiers verschillen van een C-compiler naar de volgende. Het formaat specifiers ondersteund onder FreeBSD zijn:

% d Converteren naar getal ondertekend decimale string.
% u Converteren naar unsigned integer decimale string.
% i Converteren naar getal ondertekend decimale string; de integer kan worden in decimalen, in octal (met een leidende 0) of hexadecimaal (met een leidende 0x).
% o Converteren naar getal unsigned octal string.
% x of X% Converteren naar unsigned integer hexadecimale string, met behulp van cijfers `` 0123456789abcdef''x en `` 0123456789ABCDEF''voor X).
% c Converteer integer naar de Unicode-tekens die het vertegenwoordigt.
% s Geen verbouwing; net invoegen string.
% f Convert floating-point getal naar ondertekend decimale string van de vorm xx.yyy, waar het aantal y's wordt bepaald door de precisie (standaard: 6). Als de precisie 0 dan geen komma uitgang.
% e% of E Convert floating-point getal naar wetenschappelijke notatie in de vorm x.yyye +-ZZ, waar het aantal y's wordt bepaald door de precisie (standaard: 6). Als de precisie 0 dan geen komma uitgang. Als de E-vorm wordt gebruikt dan E wordt afgedrukt in plaats van e.
% g of% G Als de exponent is kleiner dan -4 of groter dan of gelijk is aan de nauwkeurigheid en vervolgens converteren floating-point getal als voor% e% of E. Anders zetten als voor% f. Trailing nullen en een volgnullen decimaalteken zijn weggelaten.
%% Geen conversie: alleen invoegen%.

Voor meer informatie over het formaat specifiers, verwijzen naar de man pagina's voor "formaat" op uw dichtstbijzijnde Unix systeem.

Format string kwetsbaarheid Aanvallen

Format string kwetsbaarheid aanvallen vallen in drie categorieën: denial of service, lezen en schrijven.

Aanvullende bronnen van informatie over format string kwetsbaarheden

Voor meer informatie over het benutten van format string kwetsbaarheden, verwijzen naar Exploiting Format String Vulnerabilities door SCUT en format string Aanvallen door Tim Newsham.

Writing Secure Code Building Secure Software Secure Coding Secure Programming Cookbook
Leer hoe te voorkomen format string kwetsbaarheden in uw broncode met deze uitstekende boeken over veilig programmeren van Amazon.com


Top 5 Gratis Networking Tools

Vulnerability Management voor Dummies

Onze vrienden op Qualys bieden gratis exemplaren van de elektronische versie van Vulnerability Management voor Dummies aan Tech-FAQ lezers.

Vulnerability Management voor Dummies:

  • Verklaart de noodzaak van een kritische kwetsbaarheid management
  • Details van de essentiële best-practice-stappen van een succesvolle vulnerability management programma
  • Hierin wordt de kwetsbaarheid van verschillende management oplossingen - inclusief de voor-en nadelen van elk
  • Wijst op de bekroonde QualysGuard kwetsbaarheid management oplossing
  • Biedt een punt tien checklist voor het wegnemen van kwetsbaarheden van uw belangrijkste middelen
Bookmark Wat is een format string kwetsbaarheid?

Laatste blogberichten


Engels Engels Duits Duits Spaans Spaans Frans Frans Italiaans Italiaans Portugees Portugees Russisch Russisch Nederlands Nederlands
Grieks Grieks Hindi Hindi Japans Japans Koreaans Koreaans Chinees Chinees Chinees (vereenvoudigd) Chinees (vereenvoudigd) Arabisch Arabisch

Copyright 2009 Tech-FAQ. Alle rechten voorbehouden. Privacybeleid.