




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An overview of format string vulnerabilities, their impact on security, and methods for exploiting and preventing them. It covers the concept of string formatting, common causes of format string problems, and their effects on access control, confidentiality, and integrity. Examples of incorrect and correct usage are also provided, along with detection and mitigation strategies.
Typology: Slides
1 / 8
This page cannot be seen from the preview
Don't miss anything!
Access Control: Redirect execution to malicious code
Confidentiality: Can expose information about a program that can lead to further exploitation
Integrity: Values can be overwritten in memory
#include <stdio.h>
int main(int argc, char* argv[]) { If(argc > 1) printf(argv[1]); return 0; }
Sample input: “%x %x” Sample output: 12ffc0 4011e
Source: (Howard, LeBlanc, and Viega 19)
Luckily the problem is easy to detect and mitigate
Lexical source code scanners can detect the errors and Crispin Cowan offers FormatGuard a built in compilation tool
Right: printf(“%s,” user_input); printf(“%d,” user_input); Wrong: printf(user_input); syslog(LOG_FILE, userText);
string functions.
functions if you can.