Injection SQL contournant mysql_real_escape_string()
Malgré la croyance répandue, il est possible de contourner la sauvegarde mysql_real_escape_string() dans les injections SQL. Ceci est particulièrement préoccupant car cette fonction est généralement utilisée pour se protéger contre de telles attaques.
L'exploit
Une attaque démontrant cette vulnérabilité a été décrite dans le message d'origine. La clé est d'exploiter une séquence spécifique de caractères ("xbfx27") en conjonction avec certains jeux de caractères (par exemple, gbk). Lorsqu'elle est traitée par mysql_real_escape_string() dans ces conditions, la charge utile génère un caractère ' non échappé, qui peut ensuite être exploité à des fins d'injection.
Les implications
Cette vulnérabilité a des implications considérables, étant donné la prédominance de mysql_real_escape_string() comme mécanisme de défense contre les injections SQL. Cela affecte les applications PHP utilisant les extensions mysql_ ou PDO_MySQL, en particulier lorsque des jeux de caractères vulnérables sont utilisés ou que les instructions préparées émulées de PDO sont utilisées.
Pratiques de sécurité
Pour atténuer cela vulnérabilité, il est essentiel de respecter les bonnes pratiques :
En suivant ces directives, vous pouvez améliorer la sécurité de votre applications de base de données et protection contre les attaques par injection SQL qui tentent de contourner la fonction mysql_real_escape_string().
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!