Dans cette section nous allons voir quelques techniques d'injection SQL qui utilisent des caractéristiques spécifiques de Microsoft SQL Server.
Les vulnérabilités d'injection SQL se produisent chaque fois que l'entrée est utilisé dans la construction d'une requête SQL sans avoir été dûment contrainte ou désinfectée. L'utilisation de SQL dynamique (la construction de requêtes SQL par concaténation de chaînes de caractères) ouvre la porte à ces vulnérabilités. L'injection SQL permet à un attaquant d'accéder à des serveurs SQL et d'exécuter du code SQL avec les privilèges de l'utilisateur utilisé pour se connecter à la base de données.
Comme il est expliqué dans l'injection SQL, un exploit par injection SQL nécessite deux choses: un point d'entrée et un exploit. Tous les paramètres rentrés par l'utilisateur et qui sont traités par l'application pourraient cacher une vulnérabilité de ce type. Cela comprend:
Microsoft SQL Server a quelques caractéristiques uniques, de sorte que certains exploits ont besoin d'être spécialement conçus pour cette application.
Pour commencer, nous allons voir certains opérateurs SQL Server et les commandes / procédures stockées qui sont utiles dans un test d'injection SQL: