DEV Community

Tisha
Tisha

Posted on

What are Application Attacks?

So attacks like social engineering isn't an ultimate goal for the hacker, it's a step towards further attacks. This post will touch on a few of those cool (Might not be the best choice of words when it comes to describing attacks, but that's the best I got) and interesting attacks!

1. Race Conditions

This typically occurs in a software as a result of programming error because two different code sequence is using the same resource concurrently and the program fails to account for this. A common type of attack in this case is TOCTOU (Time of Check Time of Use). Think about it this way, you and your partner used the same bank account to withdraw cash at the same time, when you saw the balance it was $100 but when you tried to withdraw the amount it shows insufficient balance, that's because between the time you checked your balance and withdrew the money, your partner withdraws the balance.

A deadly error that happened because of this was when a Therac-25 radiation therapy machine malfunctioned and caused 3 deaths and at least 3 debilitating injuries. Read more here

Even though these are not examples of an attack, it is a vulnerability that an attacker could use to carry out attacks!

2. Buffer Overflow

It occurs when the data that is input into an application is more than the storage space reserved for that data. If a name field on a website could only accept 25 characters and if someone tries to enter 30 characters and it's not designed to handle this appropriately, it would become unstable by overwriting other areas of memory causing the application to crash.
An attacker can also use this vulnerability to execute arbitrary code at a privileged level. Heartbleed was a famous buffer overflow attack.

3. Code Injection

XSS (Cross Site Scripting):

In this an attacker places a malicious code on the client side of a website, so when a legitimate user visits it they end up executing the code without their knowledge. This could expose confidential data, give an attacker unauthorised access or could even cause a legitimate user to attack a site without them knowing.

DLL Injection:

A DLL (Dynamic Link Library) Windows file is a type of file that contains instructions that other programs can use and share. E.g. Several programs can call upon a ABC.dll file to find the free space on a hard drive.
In this attack a malicious dll file is loaded and instead of the legitimate file a program hooks into the malicious file.

4. Driver Manipulation

Shimming:

It's when in case of incompatible device drivers a piece of code is written to provide backwards compatibility. An attacker can use this to write their own shims. In Jan 2015, Microsoft had a elevation of privilege vulnerbility as a result of this.

5. Replay Attack

In this attack, packets are captured using packet sniffers, information is then extracted from them and then the packet is resend by the attacker. E.g. An attacker can sniff a packet when a legitimate user tries to login get their password and then use that password to log in later.

I think out of all of these, race condition would be mine favourite mainly because of its sheer sophistication! What would your be?

Top comments (0)