Bonjour
J'ai lu quelques articles sur l'injection de code SQL.
J'ai commencer a filtrer le contenu de tout les champs de saisi transmit vers le serveur.
J’ai entrepris de faire une simulation en utilisant le query analyzer avant de faire le test depuis un environnement web.
Voici le code que j'ai testé.
Je soumets une requête en utilisant une procédure stockée.
exec SP_Test 'AAA@hotmail.com'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
CREATE PROCEDURE [dbo].[SP_Test]
@AdresseCourriel varchar(75)
AS
--Vérifi si le compte a été activé
IF (SELECT Activation FROM TBL_Activation WHERE (AdresseCourriel = @AdresseCourriel )) = 1
BEGIN
SELECT 'Flag'='true'
END
ELSE --Si le compte na pas été activé
BEGIN
SELECT 'flag'='false' ,'test'=@AdresseCourriel
END
GO |
Ce que je voulais faire c'est de remplacer la fin du SELECT avec les instructions passé a la variable @AdresseCourriel
En modifiant l'appel de la procédure comme sui j'aurais cru avoir le même résultat.
exec SP_Test 'AAA@hotmail.com)) = 1 --'
Mais dans ce cas FLAG = FALSE
Dois-je comprendre qu’en utilisant une procédure stockée l’injection de code ne fonctionne pas ? ou que ma tentative d'injection est mal écrite?
Merci pour vos suggestion et commentaire
Partager