Maison > Article > base de données > Que sont l’injection SQL, XSS et CSRF ?
Que sont l'injection SQL, XSS et CSRF ? Cet article vous présentera l'injection SQL, XSS et CSRF. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Injection SQL
L'injection SQL est une attaque par injection. Ce type d'attaque est dû au fait que le code et les données (telles que les données sensibles de l'utilisateur) isolement, causé par une exécution incorrecte des données dans le cadre du code lors de la lecture des données.
Un exemple typique est la concaténation de chaînes dans une instruction SQL, en utilisant directement une entrée utilisateur sans échappement comme variable. À l'heure actuelle, tant que vous apportez des modifications au milieu de l'instruction SQL, comme l'ajout de mots-clés tels que drop et delete, les conséquences après l'exécution seront désastreuses.
En parlant de ça, comment devrions-nous gérer cette situation ? Trois aspects :
1. Filtrer les caractères spéciaux dans les paramètres de saisie utilisateur pour réduire les risques.
2. Il est interdit de fusionner des instructions SQL via des chaînes, et la liaison de paramètres doit être strictement utilisée pour transmettre des paramètres.
3. Utilisez raisonnablement le mécanisme fourni par le framework de base de données. Par exemple, la méthode de transmission des paramètres fournie par Mybatis est #{}. Il est interdit d'utiliser ${}. Cette dernière est équivalente au SQL d'épissage de chaînes, et des instructions paramétrées doivent être utilisées.
Pour résumer, il est nécessaire d'utiliser correctement les variables SQL de liaison paramétrées.
XSS
XSS : Cross-Site Scripting, afin d'éviter la duplication de noms avec le css front-end, il est fait référence à car il s'agit de l'insertion de scripts malveillants dans des pages HTML demandées par les utilisateurs normaux par des moyens techniques et de leur exécution.
Ce type d'attaque est principalement utilisé pour le vol et la destruction d'informations. Par exemple, lors de l'attaque Weibo XSS en 2011, l'attaquant a profité du fait que la vulnérabilité des données d'action n'était pas efficacement filtrée dans la fonction de publication de Weibo. Lors de la publication des informations sur Weibo, il a apporté une URL contenant le script d'attaque et les utilisateurs. y a accédé en chargeant des scripts malveillants, provoquant l’attaque d’un grand nombre d’utilisateurs.
Concernant la prévention de XSS, la méthode principale consiste à filtrer ou à échapper les données saisies par l'utilisateur. Vous pouvez utiliser la classe d'outils HtmlUtil fournie par le framework. De plus, lorsque le frontal affiche des données dans le navigateur, il doit utiliser une API sécurisée pour afficher les données. Par exemple, utilisez innerText au lieu de innerHTML.
CSRF
Faux de demande intersite, à l'insu de l'utilisateur, se faisant passer pour un utilisateur et envoyant une demande sur l'utilisateur actuellement connecté page Web Effectuer des opérations malveillantes sur le site Web, telles que des publications malveillantes, la modification de mots de passe, etc.
En gros, cela chevauche XSS. Dans le premier cas, les pirates informatiques volent les informations de connexion dans le navigateur de l'utilisateur et usurpent l'identité de l'utilisateur pour effectuer des opérations. Cette dernière consiste à insérer du code malveillant dans le HTML demandé par les utilisateurs normaux. Le problème XSS réside dans le fait que les données utilisateur ne sont pas échappées et filtrées ; le problème CSRF se produit dans l'interface HTTP qui n'empêche pas les appels non fiables.
Moyens de prévenir les vulnérabilités CSRF :
1. Vérification du jeton CSRF, en utilisant la même restriction d'origine du navigateur pour vérifier le jeton dans le cookie avant d'exécuter l'interface HTTP. . La demande continuera à être exécutée uniquement si elle est réussie.
2. Interaction homme-machine, telle que le code de vérification SMS et le curseur d'interface.
Tutoriels vidéo associés recommandés : "Tutoriel MySQL"
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !
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!