Exploiting Buffer Overflow Course
What you'll learn
- Buffer Overflow basics
- Win32 Assembly
- Exploiting Buffer Overflow
- Learn more about exploitation
- Basic knowledge of Linux
What is Buffer Overflow
Buffers are memory storage regions that temporarily hold data while it is being transferred from one location to another. A buffer overflow (or buffer overrun) occurs when the volume of data exceeds the storage capacity of the memory buffer. As a result, the program attempting to write the data to the buffer overwrites adjacent memory locations.
For example, a buffer for log-in credentials may be designed to expect username and password inputs of 8 bytes, so if a transaction involves an input of 10 bytes (that is, 2 bytes more than expected), the program may write the excess data past the buffer boundary.
Buffer overflows can affect all types of software. They typically result from malformed inputs or failure to allocate enough space for the buffer. If the transaction overwrites executable code, it can cause the program to behave unpredictably and generate incorrect results, memory access errors, or crashes.
Attackers exploit buffer overflow issues by overwriting the memory of an application. This changes the execution path of the program, triggering a response that damages files or exposes private information. For example, an attacker may introduce extra code, sending new instructions to the application to gain access to IT systems.
If attackers know the memory layout of a program, they can intentionally feed input that the buffer cannot store, and overwrite areas that hold executable code, replacing it with their own code. For example, an attacker can overwrite a pointer (an object that points to another area in memory) and point it to an exploit payload, to gain control over the program.
The difficulty is that most IT professionals do not have the general software development background required to begin the subject of buffer overflow. This course cuts down the technical subjects of computer memory management, controlling code, and data inside of a working program, and exploiting poor quality software into terms that IT people with no software development knowledge can understand.
In this course you will learn the basics of Buffer overflow and also you will get an idea of exploiting systems using Buffer overflow. See you inside!
Who this course is for:
- Beginner Programmers
I am a Computer Science Engineer. Online teaching is my passion. I am making videos and teaching online since 2007. I am working on different it fields for more than ten years. Now i want to share my valuable knowledge and experience! In my courses i like to teach in a very easy and simple manner. All of my courses start with basics then i teach some of the advanced topic and at last i give real world examples. My course are easy to learn, informative and updated.