Énumération de bases de données (non-Oracle)
SQL injection attack, listing the database contents on non-Oracle databases
Contexte
Paramètre vulnérable : filtre
category(injection viaWHERE).L’application renvoie les résultats SQL dans la réponse, permettant un
UNION-based extraction.
Objectif
Identifier le nom de la table contenant les identifiants, découvrir ses colonnes, extraire les paires
username/passwordet se connecter en tant qu’administrator.
Méthodología (phases concises)
Déterminer le nombre de colonnes Exemple :
Incrémenter l’indice jusqu’à provoquer une erreur → connaître le nombre de colonnes pour
UNION.
Valider
UNION SELECTExemple (2 colonnes) :Adapter aux N colonnes retournées (utiliser
NULLpour colonnes non pertinentes).
Énumérer les tables (bases non-Oracle —
information_schema)Permet de lister tables dans le schéma
public(Postgres/MySQL compatible).
Énumérer les colonnes d’une table identifiée
Remplacer
users_arejzypar la table découverte.
Extraire le contenu (dump)
Exemple (colonnes identifiées password_qxbwwb, username_lidnwi) :
Ajuster l’ordre/types de colonnes selon la requête vulnérable (utiliser
CAST/CONCAT/NULLsi besoin).
Bypass / login
Une fois username = administrator et son password récupérés, se connecter via la page d’authentification.
Alternativement, utiliser un payload d’auth bypass si la table n’est pas directement accessible (ex. username = ' or 1=1-- -), mais l’exfiltration direct est préférable pour preuve.
Résultat attendu
Liste des noms de tables, colonnes, puis dump des credentials.
Connexion réussie en tant qu’
administratoren utilisant les identifiants exfiltrés.
Impact
Compromission de comptes (escalade complète si admin), exfiltration d’informations sensibles, modification/suppression de données, extorsion possible.
Mis à jour
Ce contenu vous a-t-il été utile ?