Et cette conférence, j'aimerais aborder un cas auquel je suis confronté dans environ 50% des sites Web sur
lesquels je fais des tests d'intrusion.
Alors permettez-moi d’abord d’exploiter et d’exploiter ceux que j’ai déjà vus. Nous allons donc exécuter cette instruction qui sélectionnera le
nom de la table à partir des tables de schéma d’information.
Donc, cela devrait énumérer toutes les tables qui existent dans notre page.
Et comme ma sécurité est trop basse pour le moment, je vais simplement la coller ici.
Supprimez cet élément supplémentaire et appuyez sur
Entrée car vous pouvez voir qu'il est exploité et qu'il affiche le nom de la table ici au lieu du numéro un.
Nous voyons donc tous les noms de table qui existent dans cette base de données actuelle.
Le cas que je voudrais aborder est celui où vous exécutez la déclaration pour rendre le site Web vulnérable.
Et lorsque vous exécutez l'instruction, vous ne verrez qu'un résultat à la fois, car la page est programmée
de manière à afficher un seul résultat à la fois.
Pour ce faire, nous devrons modifier le code du niveau de sécurité faible pour DPW. Je le
ferai maintenant et nous reviendrons ensuite pour l'exploiter.
Je vais donc simplement modifier le code pour les DVD vidéo.
Cela ne fait pas partie de l'exploitation.
Ceci est juste pour rendre cet exploit un peu plus compliqué.
J'ai donc manqué le flottant de Meta et je vais ouvrir le niveau de sécurité bas du fichier d'injection
SQL.
Donc, je vais utiliser sudo car le fichier a les droits root et je vais utiliser
Nonno comme éditeur de texte.
Il s’agit donc du programme que je vais utiliser pour modifier le fichier et celui-ci est stocké dans un
fichier source. Une vulnérabilité est une source d’injection de compétences, puis une page.
Donc, encore une fois, je vais juste passer en revue cela et voir ce que nous faisons, c'est que nous disons que
nous demandons à Sudo d'exécuter le fichier dans les privilèges de la racine.
Maintenant, quel est le programme que nous allons ouvrir le fichier.
Et puis le fichier est stocké dans les capacités WDW I Woolner lisibles par Varda en tant que ph de la source Kulai.
Je vais appuyer sur Entrée et me demander le mot de passe administrateur maintenant le mot de passe root est comme administrateur.
Exactement comme le nom d'utilisateur.
Nous avons la source ici pour le fichier.
Donc, je vais le modifier ici, je vais en fait le modifier pour vous.
En conséquence, la boucle parcourt tous les caractères de tous les enregistrements que
cette instruction askew obtient ici.
Et puis il les affiche à l'écran.
Nous voulons donc le modifier pour n’afficher que les mots du premier résultat.
Donc, je vais juste commenter cette ligne deux barres obliques autre commentaire.
Donc, fondamentalement, cette ligne sera ignorée et je ferai également un commentaire sur cette ligne car elle ferme la boucle while.
Donc, cette ligne sera également ignorée.
Maintenant, vous devez vraiment vous soucier de ce que cela signifie si vous n'êtes pas programmeur.
Il n’est pas très important de simplement entrer dans ces lignes et nous verrons ce qui se passe chez le
client car ce qui nous intéresse dans cette conférence n’est pas la programmation qui nous intéresse pour les
tests de pénétration.
Donc, je vais juste appuyer sur le contrôle X pour enregistrer ceci.
Je vais frapper Y et entrer et cela va quitter et enregistrer le fichier.
Nous sommes donc de retour ici et je vais faire exactement la même déclaration, donc je ne vais pas la modifier.
Donc, je dis toujours que les syndicats sélectionnent le nom de la table à partir du schéma d’information d’autres tables.
Je vais en fait rafraîchir la page.
Et comme vous pouvez le voir maintenant, cela ne marche pas vraiment ou ça marche,
mais cela ne fait que nous montrer le premier album sélectionné, l’Américain. Ce n’est donc même pas utile.
La première chose que je vais faire est donc de nous apporter le compte rendu
car l’administrateur a l’ID du numéro un.
Donc, ce que nous allons faire maintenant, c'est que nous allons simplement
lui donner une pièce d'identité invalide, alors je vais lui donner un moins un.
Et comme vous pouvez le voir maintenant, l'instruction fonctionne, nous obtenons une table qui existe dans les tables de schéma d'information
mais nous sommes tous ensemble dans une table à la fois.
Nous ne recevons pas la liste complète des tableaux.
Et cela est dû au fait que la page est programmée de manière à n’afficher qu’un résultat.
Et cela m'est souvent arrivé lorsque je faisais des tests d'intrusion.
N'oubliez donc pas que nous pouvons exécuter toutes les instructions souhaitées sur la bande sur le serveur afin de pouvoir
modifier notre instruction de compétences afin de parcourir l'ensemble des enregistrements et d'afficher le contenu.
Donc, ce que nous allons faire, c'est que nous allons savoir que nous pouvons évidemment utiliser le mot statement pour afficher uniquement les tables
de base de données dans votre base de données actuelle, mais pour le moment, je souhaite vous montrer
comment itérer dans tous les cas. les tables.
Nous allons donc utiliser le mot-clé limit pour spécifier quel enregistrement nous voulons afficher.
Avec la déclaration actuelle de cette manière, nous pourrons parcourir les enregistrements un par un et
les afficher tous.
Donc, l'instruction va être unifiée. Sélectionnez le nom de la table à partir du schéma d'information ou des tables
et nous dirons que je veux limiter le mot-clé limit qui prend deux valeurs.
La première valeur est l'emplacement de l'enregistrement à partir duquel nous voulons afficher les enregistrements.
Donc, où nous voulons commencer à afficher les enregistrements, je veux donc commencer à afficher les enregistrements du premier enregistrement.
Je vais donc mettre zéro car les numéros d'enregistrement commencent à 0 et la deuxième valeur que prend le mot
clé limit est le nombre d'enregistrements que nous voulons afficher à l'écran en commençant par la valeur que nous
avons spécifiée ici.
Nous savons maintenant que cette page ici ne peut me montrer qu’un enregistrement à la fois.
La deuxième valeur du mot-clé limit ne peut donc être qu'une.
Dans ce cas.
En gros, nous voulons donc sélectionner le nom de la table à partir des tables de schéma d’information.
Je voulais seulement afficher un enregistrement à partir de l'enregistrement 0.
Donc, si je copie ceci et le colle ici, vous verrez
que j'obtiendra le premier tableau maintenant et que si je veux accéder au second tableau, tout ce que j'ai à faire
est de le modifier afin que, comme je l'ai dit, la première ici signifie que je veux commencer à
l’enregistrement 0.
Donc, si je veux commencer par l’enregistrement 1, je vais simplement en mettre un, puis je
peux le copier et le coller ici.
Comme vous pouvez le constater, nous avons la table suivante.
Maintenant, encore une fois si je veux obtenir la table après cela, tout ce que je dois faire est de modifier cela et le définir sur 2.
Et cela signifie que je veux commencer cette lecture de disque en disque et que je veux seulement
commencer à afficher un disque.
Encore une fois, si je tape Entrée comme vous pouvez le voir, je vais avoir la table suivante.
Je peux continuer à faire cela pour parcourir manuellement tous les enregistrements.
Nous pouvons maintenant améliorer l’énoncé en utilisant les charges de travail.
Donc, avant la limite, nous pouvons dire que je veux sélectionner un nom de table à partir de
tables de schéma d’informations où le schéma de table est égal à DV w a.
Maintenant, si nous collons ceci ici comme vous pouvez le voir, cela m’a montré les utilisateurs et encore une fois, je peux
parcourir les tables en changeant le nombre ici pour qu’il soit affiché dans l’enregistrement au décalage 1.
Je peux mettre ceci à 0 pour afficher le premier enregistrement.
Et comme vous pouvez le voir, la première table ou le premier enregistrement est guestbook et c'est tout.
Il suffit donc d’une brève lettre pour vous montrer comment contourner ce problème.
Si vous y faites face dans des pages qui n’afficheront qu’une valeur ou un enregistrement à la fois.