Quel est tout au sujet du deuxième niveau d'injection SQL .. Ceci est en référence à la question Use of parameters for mysql_query .. et une partie de l'une des réponses a eu ce terme ...Qu'est-ce second niveau SQL Injection
Répondre
I « m pas exactement mais je pense qu'il a été « défini » dans le poste: Use of parameters for mysql_query
Extrait (voir point 2):
magic_quotes_gpc
automatiquement échappe des choses que vous recevez des demandes des clients ... mais il ne peut pas détecter soi-disant injections de second niveau:
- Vous obtenez une requête illicite d'un client et de stocker son contenu dans la base de données .
magic_quotes_gpc
empêche injection SQL; la chaîne malveillante est stockée correctement. Par la suite, vous récupérerez cette chaîne à partir de la base de données et l'incluerez dans une autre requête, . Maintenant, la chaîne n'a pas sortir d'une demande, doncmagic_quotes_gpc
n'échappe pas à la chaîne . Voilà, injection SQL; vos données ont maintenant probablement disparu.
Voici une autre que j'ai googlé (http://www.osix.net/modules/article/?id=624):
Prenez garde que les variables à l'intérieur d'une procédure stockée ne sont pas toujours à l'abri de SQL Injection soit. Si la procédure stockée contient des constructions qui ajoutent un second niveau d'analyse, tel que EXEC sur une chaîne dans MS SQL Server, vous devrez à nouveau gérer les métacaractères . Cette fois-ci à l'intérieur de la procédure enregistrée.
Si vous ne supposez jamais que TOUTES les données sont "sûres" à mettre dans une requête, vous ne devriez pas avoir de problèmes avec SQL Injection. Même si < insérer l'icône religieuse > lui-même vous remet un morceau de données et vous dit de l'insérer dans la requête SQL ... vous devriez toujours le vérifier! xD
C'est une bonne idée d'essayer toujours d'utiliser Parameterized Statements lors de l'exécution de requêtes. De cette façon, le pilote de la base de données est lui-même responsable de l'échappement des données potentiellement dangereuses, réduisant considérablement le risque de tout type d'injection SQL.
Je ne suis pas sûr si j'ai pu expliquer clairement .. mais j'essaie de savoir si l'injection de SQL et la soi-disant injection de deuxième niveau sont les mêmes choses? .. le lien ci-dessus dit tout sur le doute comme le terme a été utilisé comme une partie de la réponse quelque part dans cette réponse. – Sachindra