Program Errors
Program Errors
CS 450
4/14/10
What is buffer overflow?
The threat
Dangers
Prevention
A buffer (array/string) that holds data
Example.
• char buffer[10] (sets aside buffer[0] – buffer[9])
Consider:
• buffer[i] = ‘A’;
Malicious programmer
focuses
on accessing the second
two .
Text – program code
strcpy(buf, argv[1]);
}
}
Consider:
• victim.exe AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA
Try:
• victim.exe AAAABBBBCCCCDDDDEEEEFFFFGGGG………
If successful, error message:
• “The instruction at “0x4b4b4b4b” referenced
memory at “0x4b4b4b4b”. The memory could
not be read.
• 0x4b is ASCII“K”