Maison > base de données > tutoriel mysql > Pourquoi ESAPI échappe-t-il aux caractères de retour arrière (\\b) et de tabulation (\\t) dans la prévention des injections SQL ?

Pourquoi ESAPI échappe-t-il aux caractères de retour arrière (\\b) et de tabulation (\\t) dans la prévention des injections SQL ?

Patricia Arquette
Libérer: 2024-10-28 17:16:29
original
774 Les gens l'ont consulté

 Why Does ESAPI Escape Backspace (\b) and Tabulator (\t) Characters in SQL Injection Prevention?

Prévention des injections SQL : échappement de caractères pour une sécurité maximale

La prévention des injections SQL est cruciale pour protéger les bases de données contre les attaques malveillantes. Lors de l'utilisation de la fonction mysql_real_escape_string(), les caractères , n, r, \, ', " et Z sont échappés pour empêcher les tentatives d'injection.

Cependant, la bibliothèque de sécurité ESAPI d'OWASP.org inclut des caractères supplémentaires pour l'échappement, y compris b (retour arrière) et t (tabulation). La question se pose : pourquoi ces caractères sont-ils inclus et sont-ils vraiment nécessaires ?

Caractères de tabulation et de retour arrière dans la prévention des évasions

L'inclusion des caractères b et t dans le mécanisme d'échappement ESAPI est probablement liée à la possibilité de tentatives d'injection utilisant ces caractères. Considérons le scénario suivant :

Un attaquant envoie un e-mail contenant un fichier texte en pièce jointe avec ce qui suit. requête :

INSERT INTO students VALUES ("Bobby Tables",12,"abc",3.6);
Copier après la connexion
Cela semble être une requête inoffensive. Cependant, l'attaquant a intelligemment placé des caractères de retour arrière avant la requête, comme suit :

DROP TABLE students;\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
Copier après la connexion
Lorsque le destinataire traite le fichier. et le redirige vers MySQL, les caractères de retour arrière écrasent la requête inoffensive, ce qui entraîne les étudiants malveillants DROP TABLE ; La commande est exécutée à l'insu du destinataire.

De plus, les caractères de tabulation (t) pourraient potentiellement être utilisés pour aligner du code malveillant dans la requête, améliorant ainsi sa lisibilité et le rendant plus difficile à détecter. Par conséquent, échapper à ces caractères offre une couche de protection supplémentaire contre d’éventuelles tentatives d’injection.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal