Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there a site, or is there a simple way of setting up one, which demonstrates what can happen with a buffer overrun? This is in the context of a web app.

(I've already asked this, by the way, on ServerFault, just in case you think it would be better asked there)

share|improve this question
    
What exactly is there to demonstrate? How your browser crashes when you visit a web page? –  Sasha Chedygov May 20 '10 at 6:05
    
The folk on ServerFault migrated the question to StackOverflow. There I got some good responses: stackoverflow.com/questions/2871913/… –  boost May 20 '10 at 9:21

1 Answer 1

Stack and heap buffer overflows are essentially caused by writing a lot of data into a region of memory that is too small to contain all of the data - causing the data to be written beyond the extent of the allocation and blatting whatever sits after it logically in memory. In the case of a stack-overflow this may be a return address for the function and in the case of the a heap overflow this may include virtual function pointers from other C++ objects on the heap. In either case, an attacker may be able to use the vulnerability to take control of the process when the overwritten function returns or the overwritten heap object is used.

WebApplications written in PHP, C#, VB, VB.NET, ASP.NET, Ruby-on-rails, server-side javascript and JSP are managed applications, and are not succeptable to memory corruption vulnerabilities such as stack buffer overflows or heap buffer overflows caused by bad web-application code. Buffer overflows tend to be the preserve of C/C++ applications, although other less common "native" languages such as Dephi and Fortran are also susceptible.

If you are a web-developer, the most important class of vulnerabilities that you need to look at are SQL-injections and problems caused by inappropriate include/eval/file-writes in the server code which might allow a string or file passed by a user to eventually be treated as code on the server. Unfortunately for web-developers, these types of attacks tend to be much more effective and are much easier to do than buffer-overflow attacks on native code, and consequently the impact of not fully understanding security as a web-developer can be much more painful than not understanding security as a native developer.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.