La bonne réponse est : Une injection SQL est possible, et un crash mémoire est possible (déni de service)
En effet, même si la requête SQL est en dur dans le code, rien n’indique ici, que ce code ne soit pas exécuté sur un serveur.
Le binaire n’étant pas directement visible, il est difficile de pouvoir le désassembler pour voir les chaînes de caractères qu’il comporte.
Bien évidement, pour les puristes, une procédure stockée serait la bienvenue.
Aucun test de saisie n’est pris en compte. Un déni de service est toujours possible si l’utilisateur envoi un OrderID de 50 G0.
L’injection SQL est également possible.
Dans cette exemple, nous concaténons, via une requête SQL, la saisie de l’utilisateur contenu dans OrderID.
Rien n’empêche l’utilisateur de passer dans OrderID, une chaine du type :
Bogue’ ; Select * from sysobjects; --
La concaténation, dans ce cas là, forme une requête SQL tout à fait valide et le résultat sera le retour de tous les objets définis dans la base de données.
|