(c) teso. all rights reversed.
exploiting format string vulnerabilities - Wie sieht eine Format String Vulnerability aus ?

Das Aussehen einer Format String Vulnerability

Eine Format String Vulnerability besteht genau dann, wenn der Angreifer die Möglichkeit hat, den Inhalt des Format Strings zum Teil oder als Ganzes zu bestimmen. Dabei wird das Verhalten der format-Funktion beeinflusst, und es kann so das Programm unter Kontrolle gebracht werden.

In den beiden Beispielen ist "user" usersupplied, dass heisst der ASCIIZ-String wird vollständig vom Benutzer kontrolliert, zum Beispiel durch einen Kommandozeilenparameter.

Falsch:
int
func (char *user)
{
        printf (user);
}
Richtig:
int
func (char *user)
{
        printf ("%s", user);
}

<< - < - > - >>