Diffusr 0 Report post Posted October 7, 2009 (edited) One of the most common vulnerabilities on the internet is the buffer overflow technique. Programs running on application programming interfaces (API's) very often are insecurely coded. The buffer overflow technique means the cracker exploits the shoddy code by inserting their own code and tricking the computer being attacked into running it instead or as well. Bad programming is universal so all operating systems are vulnerable to this.Today more than ever with the emergance of interactive web 2.0 style sites, buffer overflows attacks are rampant.What the hell is a buffer overflow anyway?When data passes through a space too small for it and the program didn't have code written to regulate the flow e.g. flow control used at the transport layer in TCP/IP. The buffer is where the intended data passes, but when it overflows it starts to overwrite other data and can cause the program to crash or worse.Here's how it works:A programmer writes an application in a high level language like C++ or Perl, which is broken down by the compiler into "machine code". Assembly is a low level language but the lowest of all is binary code - zeros' and ones'. All this gets compiled into an executable program.When the program is run memory is set aside for text, data and the stack. Data gets pushed onto the stack and popped off as it is needed and used. Data that came in first gets popped off last. The stack frame contains the instruction pointer that tells the program what next piece of code to run.If too much data gets pushed on then the buffer eats into the stack frame and overwrites things like the instruction pointer.If it gets overwritten by random stuff then the program will either report an error or crash or maybe somehow pull through. But if the overwrite is by code that is understood by the processor, the program will continue as though that code were part of its operation. It will act as though the code were part of the operating system and allow all user priveleges that the program is running at. This is one way the L337 HAXORZZ get R007. Edited October 7, 2009 by Diffusr (see edit history) Share this post Link to post Share on other sites