In practical terms, a buffer overflow vulnerability appears when a programmer forgets to check the length of user-supplied data. So lets say you're logging into a website, and whoever programmed the process that authenticates the username and password you supply forgot to check the lengths of these two things. You could supply a really really long username, thousands of characters long. But why is this a problem?
So how do hackers exploit this simple little programming error? Well remember in part 1 that I said the fundamental issue is that program data (in our example that would be the username) and process flow control data (thats information that the program uses internally, its not data any user - even the programmer - is likely to see, but its necessary for a running program to keep track of certain things, these things are the control flow data) are stored side by side in memory. So when our long username overflows its buffer and writes to other areas of memory, sometimes it will overwrite control flow data. And it is in these cases that a skilled hacker can take control of the process by steering it in the direction he wants in just the right way.
Security is very important nowadays, hackers can get into your PC/website easily.
ReplyDeleteGood tutorial!
ReplyDeletenice reading, great stuff, thanks
ReplyDeleteGreat post! Was a really good read! thanks for sharing!
ReplyDeleteVery interesting stuff. I learnt a couple of things from this post, thanks.
ReplyDeleteI'm always happy to hear more about computers, followed.
Take a look at my blog sometime at:
http://riotoflegends.blogspot.com/
This is a neat blog. You should post more images!
ReplyDeleteInteresting stuff. I'll be following to learn more!
ReplyDelete