Instructeur: Dans cette conférence, et dans
les prochaines conférences, nous
allons parler d'un type de vulnérabilités populaire, appelé SQL Injections.
Avant de commencer à parler de la façon dont cela se
produit et de la façon de l'exploiter, commençons par apprendre ce qu'est SQL.
Maintenant, si vous testez un stylo sur un site Web
donné, il est probable que ce site Web soit un peu plus grand
que les sites Web plus petits. Il utilise donc probablement une base de données.
La plupart des sites Web, autres que des
sites très simples, utilisent des bases de données, lesquelles servent à stocker des données. Elles stockent donc
des noms d'utilisateur, des mots de passe, des articles de presse, des
billets de blogues et des images.
Tout ce qui se passe sur le site Web, littéralement,
est stocké dans une base de données et l'application Web interroge la
base de données, puis affiche les données à vous ou
aux utilisateurs, à l'écran.
Lorsque les utilisateurs agissent, les données existantes dans
la base de données sont mises à jour, supprimées ou modifiées.
Cette interaction, entre l'application Web
et la base de données, s'effectue à l'aide d'un langage appelé SQL.
Donc, laissez-moi vous montrer ce que je veux dire par base
de données, ceci est juste
un exemple, je
ne pirate rien, je vais littéralement me connecter à la
base de données qui est installée sur notre machine Metasploitable, et puis
nous sommes Je vais juste voir ce qui a été installé dessus.
Donc, je ne fais pas de piratage, il n'y a rien ici,
rien d'extraordinaire, je me connecte simplement à mon code SQL.
Et puis, je mets le nom
d'utilisateur est root et Metasploitable n'utilise pas de mot de passe
pour la racine, ce qui est vraiment mauvais, mais c'est évidemment un système vulnérable.
Donc, je vais juste me connecter et je ne
pirate rien, je ne fais
aucune injection SQL, c'est juste le terminal
pour MySQL, que l'application web utiliserait pour interagir avec la
base de données.
Donc, j'essaie simplement de vous montrer ce que je veux dire par
bases de données et ce qui y est enregistré.
Donc, la première chose que je vais
faire, c'est que je vais simplement taper dans la base de données des émissions.
Et cela nous montrera les bases de données
qui existent sur notre serveur cible et vous pouvez voir que nous
avons le schéma d’information, c’est une base de données par
défaut qui contient des informations par défaut,
des informations sur toutes les autres bases de données.
Donc, celui-ci est installé par défaut, lorsque
vous installez MySQL.
Les autres ont été installés pour chaque application Web.
Donc, nous pouvons voir, nous en avons un pour
tikiwiki, nous en avons un pour owas10, et c’est pour celui-ci Mutilllidae.
Nous en avons également un appelé
mysql, un métasploit et
un autre pour dvwa, celui que nous
utilisons, l'application Web.
Ainsi, vous pouvez
voir que pour chaque application Web, nous
avons une base de données qui contient les
informations utilisées par cette application Web.
Laissez-moi vous montrer ce
qu’il contient, je vais donc utiliser la base de données owas10.
C'est donc celui qui, encore une fois, est celui de
Mutilldae, de cette application Web.
Et nous pouvons voir la table, donc chaque base de données a
une table, des tables, et dans les tables, il y a des informations.
Alors, je vais dire "montrer les tables" pour voir les tables que
nous avons.
Et vous pouvez voir que nous avons
une table pour les comptes, vous pouvez donc supposer que cette table contient des informations
sur les noms d'utilisateur, les mots de passe et des informations sur les utilisateurs.
Nous avons une table pour les blogs, donc probablement les entrées de blog, les
articles et les commentaires qu’il contient.
Vous pouvez voir les données capturées, les cartes de crédit, donc il
y a une table qui contient les cartes de crédit.
Maintenant, c’est énorme pour les sites d’achats, ils
ont en fait un tableau des cartes de crédit
et les informations pour les cartes
de crédit y sont stockées.
Fondamentalement, la base de données stockera
tout, toutes les données utilisées sur le site Web.
Parce qu'ils ne sont pas stockés dans des fichiers, ce n'est pas efficace.
Examinons donc les comptes et si je dis simplement
"sélectionnez", c’est exactement ainsi que l’application Web récupérera des informations dans
la base de données: elle sélectionnera des éléments, les
mettra à jour ou les supprimera.
Donc, je fais une déclaration choisie ici, encore une fois, ce
n’est pas du piratage, je ne fais rien,
je sélectionne simplement des choses.
Et je vais sélectionner star, ce qui signifie
tout, à partir de comptes.
Comme nous pouvons le voir, nous avons l’identifiant du compte, le nom d’utilisateur,
le mot de passe,
puis la signature de la personne,
et si cette personne est un administrateur.
Maintenant, ces colonnes dépendent de
la table. C'est donc la personne qui
conçoit la base de données, conçoit également les tables et les colonnes,
puis les données sont insérées par l'application Web.
Donc, vous pouvez voir que nous avons un
utilisateur appelé admin et que leur mot de passe est adminpass.
Nous pouvons voir que nous avons un utilisateur appelé adrian et que
leur mot de passe est un mot de passe.
Donc, ceci est juste pour vous montrer à quoi ressemblent les bases de données, et pour
vous faire une idée, parce que, dans
les futures vidéos, nous allons essayer d’exploiter ces bases
de données et d’avoir un accès semblable à celui-ci.
Donc, je viens de me connecter avec
un nom d’utilisateur et
un mot de passe maintenant, en général, vous n’auriez
pas un tel accès, seul l’administrateur Web aurait cet accès.
Dans les futures vidéos, nous allons essayer de lancer des attaques pour obtenir un accès similaire
à celui-ci, afin de pouvoir contrôler totalement la base
de données, de sorte que nous puissions lire
des éléments et voir si nous pouvons écrire
ou modifier des éléments. .