Cheat Sheet for SQL Injection Prevention - owasp.org

office politics

It's all just 1s and 0s
Messages
6,555
Location
in the lab
link:

SQL Injection Prevention Cheat Sheet - OWASP

quoted:

Introduction
This article is focused on providing clear, simple, actionable guidance for preventing SQL Injection flaws in your applications. SQL Injection attacks are unfortunately very common, and this is due to two factors:

1.the significant prevalence of SQL Injection vulnerabilities, and
2.the attractiveness of the target (i.e., the database typically contains all the interesting/critical data for your application).
It's somewhat shameful that there are so many successful SQL Injection attacks occurring, because it is EXTREMELY simple to avoid SQL Injection vulnerabilities in your code.

SQL Injection flaws are introduced when software developers create dynamic database queries that include user supplied input. To avoid SQL injection flaws is simple. Developers need to either: a) stop writing dynamic queries; and/or b) prevent user supplied input which contains malicious SQL from affecting the logic of the executed query.

This article provides a set of simple techniques for preventing SQL Injection vulnerabilities by avoiding these two problems. These techniques can be used with practically any kind of programming language with any type of database. There are other types of databases, like XML databases, which can have similar problems (e.g., XPath and XQuery injection) and these techniques can be used to protect them as well.

Primary Defenses:

Option #1: Use of Prepared Statements (Parameterized Queries)
Option #2: Use of Stored Procedures
Option #3: Escaping all User Supplied Input
Additional Defenses:

Also Enforce: Least Privilege
Also Perform: White List Input Validation
 
Back
Top Bottom