Skip to main content

SQL Injection Types & Prevention


SQL Injection is a type of cyberattack that targets web applications and databases by manipulating SQL (Structured Query Language) queries. It occurs when an attacker inserts or "injects" malicious SQL code into input fields or parameters of a web application, which is then improperly executed by the application's backend database. This can lead to unauthorized access, data theft, data manipulation, or even complete control of the database.

There are different types of SQL Injection attacks:


  • Classic SQL Injection:
- In classic SQL Injection, attackers input malicious SQL code directly into an application's form fields or URL parameters.

- Example: Consider a login form where a user inputs their username and password. An attacker could enter the following as the username:

' OR '1'='1 

The SQL query might become:

sql SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '';

This query always evaluates to true, allowing the attacker to log in without a valid password.

  • Blind SQL Injection:
- In blind SQL Injection, the attacker doesn't directly see the results of the injected query but can infer information based on the application's behavior.

- Example: An attacker might use a payload like:

' OR 1=1 -- 

The presence or absence of certain application behaviors can indicate whether the condition is true or false.

  • Time-Based Blind SQL Injection:
- Similar to blind SQL Injection, but the attacker introduces time-based delays to determine if the query is true or false.

- Example: An attacker might use a payload that causes a delay, like:

' OR IF(1=1, SLEEP(5), 0) --

If the application experiences a delay, the attacker knows the condition is true.


To prevent SQL Injection attacks, web developers should use parameterized queries or prepared statements, which ensure that user inputs are treated as data rather than executable code. Additionally, input validation and proper escaping of user-generated data are essential security measures. Regularly updating and patching the software, following security best practices, and conducting security testing can help safeguard against SQL Injection vulnerabilities.

Popular posts from this blog

Open eClass – CVE-2024-26503: Unrestricted File Upload Leads to Remote Code Execution

During an assessment, I identified a severe security vulnerability within Open eClass, an e-learning platform extensively utilized across educational institutions, notably within Greece, where it is deployed by virtually all Greek Universities and educational entities. Open eClass, developed by GUnet (Greek Universities Network), is instrumental in delivering asynchronous e-learning services. The vulnerability, cataloged under CVE-2024-26503, involves an unrestricted file upload flaw that enables remote code execution (RCE), impacting versions 3.15 and earlier of the platform. This critical security lapse presents a significant risk, potentially allowing unauthorized access and control over the system, thereby compromising the integrity and security of the educational infrastructure. Affected Versions: ●   version <=  3.15 CVSSv3.1 Base Score: 9.1 ( Critical ) CVSSv3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H Exploitation Guide The vulnerability can be e...

Chamilo LMS: CVE-2024-27524 & CVE-2024-27525

CVE-2024-27524:  Stored XSS in tickets Severity:  High  (Base Score  7.1 ) CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H   Mitigation: Upgrade to Chamilo LMS 1.11.28 and above. Patch:  https://github.com/chamilo/chamilo-lms/commit/53275c152275958b33a1f87a21843daa52fb543a CVE-2024-27525:  Self XSS in social network Base Score:  Medium  (Base Score  4.6 ) CVSS Vector:  CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L Mitigation: Upgrade to Chamilo LMS 1.11.28 and above. Patch:  https://github.com/chamilo/chamilo-lms/commit/a63e03ef961e7bf2dab56f4ede6f87edef40ba0c Overview This advisory covers the discovery of two vulnerabilities within Chamilo LMS, an open-source learning management system (LMS) widely used across educational institutions. These vulnerabilities—stored cross-site scripting (Stored XSS) and self-cross-site scripting (Self XSS)—pose different levels of security risks but highlight critical consideration...

How I Use Obsidian for Penetration Testing, CVE Hunting, and Studying

In the ever-evolving realm of cyber security, the tools and techniques at our disposal are as varied as the threats we aim to counteract. Among these tools, note-taking applications play a pivotal role, not just in organizing our thoughts but in streamlining our entire workflow. Today, I'm excited to share how Obsidian, a tool I embraced over two and a half years ago while preparing for my eJPT exam, has become an indispensable ally in my journey through penetration testing, CVE hunting, and continuous learning. If you're not yet familiar with Obsidian, it's a robust note-taking application that operates on a local collection of plain text Markdown files. What sets it apart is its capability to interlink ideas, forming an expansive web of knowledge that is both intuitive and comprehensive to explore. Through considerable customization, I've developed what I consider to be an ideal method for consolidating notes, insights, and projects into a unified workspace. Here'...