A B C D E F I M N P R S T V W Z
So Sp Sq Su

SQL Injection

What is SQL Injection?

SQL injection is a code injection technique that might destroy a database. Code injection is the exploitation of a computer bug that results from processing invalid data. Attackers use injection to introduce or inject code into a vulnerable application or change the course of execution.

SQL injection is one of the most common web hacking techniques where hackers place malicious codes in SQL statements via web page input.

Key Takeaways



How SQL Injection Occurs

SQL injection attack occurs when web applications ask for user input, such as username/user id. Instead of providing a name/id, the user gives an SQL statement that the application unknowingly runs on the database. A web page or web application with an SQL injection vulnerability uses such user input directly in an SQL query. The attacker can create input content, often called a malicious payload. After sending the content, malicious SQL commands are executed in the database.

The SQL statements interfere with the queries that an application makes to its database, allowing an attacker to illegally retrieve and view data.

Your application becomes vulnerable to SQL injection attacks when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and unexpectedly executed.

Impacts of SQL Injection Attacks

SQL injection is mostly known as an attack vector for websites and web-based applications. However, the vulnerability can affect any SQL database, including MySQL, Oracle, and SQL server.

SQL injection attacks represent two-thirds (65.1 percent) of all web app attacks, which is a sharp rise from 44 percent of web application layer attacks that SQL injection represented two years ago. When local file inclusion attacks are counted, nearly nine in ten attacks are related to input validation failures. SQL injection has also been among the top Open Web Application Security Project’s (OWASP) list of top 10 web vulnerabilities for several years.

SQL injections generally allow an attacker to view data without authentication and authorization. The data may include personal information, passwords, credit card details, trade secrets, intellectual property, or any other data the application can access.

In some cases, an SQL injection attack can modify or delete data, causing persistent changes to the application’s behavior or content. The attack can tamper with existing data, cause repudiation issues such as voiding transactions or changing balances, allow the complete disclosure of all data on the system, destroy data, or make it unavailable.

Hackers can also escalate an SQL injection attack to compromise the underlying infrastructure, such as the server, resulting in a denial of service (DoS) attack. The attack can give database server administrative rights to the attacker.

SQL injection can give access to the operating system using a database server. In this situation, a hacker uses SQL injection as the initial attack vector and then attacks the internal network behind a firewall.

An attacker can obtain a persistent backdoor into a system, leading to a long-term compromise that can remain unnoticed for an extended period.

Like any other form of data breaches, successful SQL injection attacks lead to reputational damage, financial losses, and regulatory fines.

SQL Injection Examples

Some SQL injection attacks and techniques include:

How to Detect SQL Injection

You can find most SQL injection vulnerabilities quickly and reliably using security scanners, such as the Burp Suite’s web vulnerability scanners.

You can also detect vulnerabilities manually using a systematic set of tests against every entry point in the application.

Preventing SQL Injection

SQL injection growth as an attack vector over the last few months should concern every website and web applications owners. While every application attack vector is stable or growing, none are growing as quickly as SQL injection.

Follow these tips to prevent SQL injection:

George Mutune

I am a cyber security professional with a passion for delivering proactive strategies for day to day operational challenges. I am excited to be working with leading cyber security teams and professionals on projects that involve machine learning & AI solutions to solve the cyberspace menace and cut through inefficiency that plague today's business environments.