-
Notifications
You must be signed in to change notification settings - Fork 0
/
SQL Injection
28 lines (24 loc) · 2.31 KB
/
SQL Injection
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sql injection:
SQL injection is a type of injection attack where a Attacker interfere with the sql queries that an application interacts to its database,
with the intent of manipulating the application's database.This can allow the attacker to access, modify, or retrieve data that they shouldn't have access to,
potentially causing data breaches or unauthorized actions within the application.
Impact of sql injection:
SQL injection leads to unauthorized access, data breaches , potentially compromise the integrity and confidentiality
of sensitive information stored in the database and leading to reputational damage and regulatory fines for
the organization.
Set of manual method to detect sql query:
1.Identify User Input Points (Common entry points include search bars, login forms, and URL parameters)
2.Single Quotes (' or 1=1 --) If the application displays an error message or behaves unexpectedly, it might be vulnerable to SQL injection
3.Test for Union-Based SQL Injection (try appending a UNION-Based payload)
4.Boolean-Based Blind Injection (If the application doesn't provide visible error messages, you might be facing a blind SQL injection vulnerability.)
5.Time-Based Blind Injection (time-based techniques involve causing a delay in the SQL query execution)
6.Observe Application Behavior
7.Second-Order SQL Injection
remediation of SQL injection:
1.parameterized queries : provided by your programming language or database framework. These ensure that user input is treated as data and not executable SQL code
2.Error Handling:Implement custom error handling to prevent error messages that may reveal sensitive information about your database structure.
3.Object-Relational Mapping (ORM) Libraries:Consider using ORM libraries like Hibernate (for Java), Entity Framework (for .NET),
or Django ORM (for Python) that abstract away low-level SQL queries, reducing the risk of SQL injection.
4.Input Validation:Implement strict input validation by filtering and sanitizing user inputs. Reject any input that doesn't meet your expected criteria.
5.Escaping User Input:If you can't use prepared statements or parameterized queries, escape user input using proper escaping functions provided by your database framework.
6.Web Application Firewall (WAF):Implement a web application firewall that can detect and block SQL injection attempts.