Understanding basic buffer overflow
The following C code lacks appropriate bound checking to enforce variable size restrictions on a copy. This is a rudimentary example of poor programming, but it is the basis for many exploits that are part of the Metasploit framework.
#include <string.h> #include <stdio.h> int main (int argc, char *argv[]) { if (argc!=2) return 1; char copyto[12]; strcpy(copyto, argv[1]); // failure to enforce size restrictions printf("The username you provided is %s", copyto); return 0; }
We take this code and place it into a file called username_test.cpp
, and then compile it with MinGW, as shown following:
We can then run newly ...
Get Python: Penetration Testing for Developers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.