L'injection SQL qui exécute réellement une commande SQL est une chose. Mais injecter des données qui n'exécutent pas réellement une requête nuisible, mais qui pourrait vous dire quelque chose de précieux sur la base de données, est-ce considéré comme une injection SQL? Ou est-ce juste utilisé pour construire une injection SQL valide?Le code d'erreur signalé est-il considéré comme une injection SQL?
Un exemple pourrait être
set rs = conn.execute("select headline from pressReleases
where categoryID = " & cdbl(request("id")))
L'adoption de cette chaîne qui ne pouvait être transformé en une valeur numérique causerait
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'cdbl'
qui vous dira que la colonne en question accepte uniquement les données numériques et est donc probablement de type entier ou similaire.
Il me semble trouver cela dans beaucoup de pages traitant de l'injection SQL, mais je n'ai pas vraiment de réponse si cela est considéré comme une injection SQL. La raison de ma question est que j'ai un outil d'analyse qui signale une vulnérabilité d'injection SQL et signale une erreur d'exécution de VBScript '800a000d' comme raison de la découverte.
Tout simplement parce que vous ne savez pas nécessairement comment construire un vecteur d'attaque malveillant, cela ne veut pas dire que personne d'autre ne le fait. Utilisez les paramètres liés dans votre SQL pour éliminer toute possibilité d'injection. – Cheekysoft