MySQL
Cheatsheet des commandes MySQL et MariaDB utiles en pentest : connexion, énumération des bases et tables, dump de données, lecture et écriture de fichiers via LOAD DATA INFILE et INTO OUTFILE, et abus des privilèges FILE pour obtenir une RCE.
🛠 Gestion des bases de données¶
Créer une base de données¶
Crée une nouvelle base de données nomDB.
Astuce
Utilise IF NOT EXISTS pour éviter une erreur si la base existe déjà :
Lister les bases de données disponibles¶
Affiche la liste des bases de données disponibles sur le serveur.
Sélectionner une base de données¶
Change la base de données active pour exécuter les commandes suivantes à l’intérieur de nomDB.
📋 Gestion des tables¶
Créer une table dans une base de données¶
CREATE TABLE logins (
id INT,
username VARCHAR(100),
password VARCHAR(100),
date_of_joining DATETIME
);
Crée une table logins avec plusieurs colonnes :
id→ un entierusernameetpassword→ chaînes de 100 caractèresdate_of_joining→ une date et heure
Astuce
Ajouter PRIMARY KEY(id) permet d'avoir un identifiant unique.
Lister les tables d’une base de données¶
Affiche toutes les tables présentes dans la base de données sélectionnée.
Afficher la structure d’une table¶
Affiche les colonnes d’une table, leur type, clé primaire, valeurs par défaut, etc.
✏️ Manipulation des données¶
Insérer un enregistrement complet dans une table¶
Ajoute un nouvel enregistrement en renseignant toutes les colonnes de la table.
Insérer un enregistrement avec certaines colonnes uniquement¶
Ajoute un enregistrement en ne remplissant que certaines colonnes, les autres prennent leur valeur par défaut.
Insérer plusieurs enregistrements en une seule requête¶
Ajoute plusieurs utilisateurs d’un coup, ce qui est plus performant.
📊 Requêtes de sélection¶
Afficher tous les enregistrements d’une table¶
Retourne toutes les lignes et colonnes d’une table.
Afficher uniquement certaines colonnes d’une table¶
Ne retourne que les colonnes spécifiées.
🔧 Modification de la structure des tables¶
Ajouter une nouvelle colonne¶
Ajoute une colonne de type INT à une table existante.
Renommer une colonne¶
Modifie le nom d'une colonne existante.
Modifier le type d’une colonne¶
Change le type d’une colonne existante.
Supprimer une colonne¶
Supprime une colonne définitivement.
🔄 Mise à jour des enregistrements¶
Modifier les valeurs d’une colonne pour certains enregistrements¶
Modifie la colonne password de tous les utilisateurs dont id est supérieur à 1.
❌ Suppression de données¶
Supprimer un enregistrement spécifique¶
Supprime l’utilisateur dont id est 3.
Supprimer tous les enregistrements d’une table (sans supprimer la table elle-même)¶
Attention
Cette commande supprime toutes les données de la table logins, mais conserve la table.
Supprimer une table entière¶
Supprime définitivement la table et toutes ses données.