Sécurité, injection SQL

La norme SQL évolue : tirez le meilleur d'un SGBD qui la respecte en écrivant du SQL moderne avec en complément PL/pgSQL, php, java etc.
Répondre
Phil
Administrateur du site
Messages : 291
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

Sécurité, injection SQL

Message par Phil »

Merci à un développeur pour sa question :
dans le billet sur les instructions préparées il est écrit dans la partie sur oracle que ne pas utiliser les bind variables est une faille de sécurité. pourquoi ? est-ce qu'en utilisant les instructions préparées postgresql on évite automatiquement la faille de sécurité ?


Réponse :
Ne pas utiliser de bind variables rend le code fragile en ce qui concerne les injections SQL. Ce type de faille peut survenir lorsqu'un utilisateur a la possibilité d'ajouter du code SQL à votre propre code SQL pour détourner le but initial de la requête.
NON utiliser les instructions préparées ne protège PAS en soi des injections SQL. Si vous collectez les informations saisies par les utilisateurs et que vous les concaténez simplement avec votre code SQL pour construire la requête alors la préparer ou non ne change rien au niveau sécurité. Voir https://pgphil.ovh/injection_sql_10_01.php pour plus de détails.
Cdlt. Phil - pgphil.ovh
Répondre