In this video series we will cover
Format String Vulnerabilities in detail. The prerequisite for this series is Assembly Language and Buffer Overflow basics. If you are not familiar with these topics, please go through the detailed
Assembly Language Primer for Hackers and
Buffer Overflow Primer for Hackers video series which I have created.
In this first video of the series, we will understand the basics of format strings and format functions. Format functions such as Printf, Sprintf etc. belong to a class of functions called Variadic functions, which are capable of taking variable number of arguments. These functions rely on the format string passed to them, to decide the number of input arguments and their data types. Format string vulnerabilities happen when this format string passed to these functions is controlled by user input. In this video we will look at a simple case where information leakage happens due to a format string vulnerability being present. In the next video we will look at the program stack to undertstand how arguments are fetched by the format functions and why this makes them vulnerable to attack.