Binary Exploitation ?¶
Binary exploitation is the art of triggering vulnerabilities and redirecting code execution to perform functions that are unintended by the developer and further executing malicious code on the system. Exploitation vulnerabilities are mainly found in C, C++, etc.
Ok, ok so we have thrown some new terms at you.
Program Crash! But why are we actually learning this?
What do we plan to do once we spot a
Vulnerability? How do we
exploit it? Well, our main aim is to compromise the security of the machine on which the vulnerable program is running. So how do we do that?
There are a variety of ways in which this can be achieved. The idea in most CTF challenges is to get a shell, which is basically like getting a linux terminal on another machine. Now a program crash means the program exits abruptly in the middle while it's running. This is obviously bad. Imagine a banking application suddenly stopping in the middle after you give your card details. Ah, you can imagine how it feels.
Keep in mind that though we usually try to get a shell, there are various other ways to exploit a program which we will discuss in the coming sections. Eventually you will understand the real dangers of insecure coding and how this can be avoided.
So what are we waiting for? Let's get started!