L'utilisation de SP_OACreate, SP_OAMethod etc.. il s'agit d'un risque de sécurité?
Je me suis dit que l'utilisation de la SP_OACreate , SP_OAMethod dans SQL Server 2000 est d'un risque de sécurité.
Je suis avec Nom Fort à l'assemblée et est stocké dans le GAC sur l'ordinateur SQL Server.
Quelles sont les implications en matière de sécurité ou de la compromission ?
Vous devez vous connecter pour publier un commentaire.
Ces procédures stockées étendues permettent d'instancier un OLE ("ActiveX") de l'objet à partir de l'intérieur de SQL Server. Un cas d'utilisation typique de la création d'un objet MSXML et de l'avoir envoyer quelques données de base de données comme un HTTP POST.
Dans mon esprit, il y a deux problèmes avec le sp_OACreate etc procédures:
Seulement les directeurs d'école dans le rôle sysadmin peuvent exécuter ces par défaut. L'octroi et le test de ces autorisations est une douleur. (Vous pouvez ajouter un utilisateur à la base de données Master et de leur accorder des autorisations dans la base de données.)
L'autorisation accordée est très large. Vous ne pouvez pas juste dire "ok utilisateur, vous avez le droit de créer ce genre d'objet et ne xyz avec elle." Au lieu de vous dire "ok utilisateur, vous avez le droit de créer n'importe quel objet OLE que vous voulez et faites ce que vous voulez." C'est une assez vaste toile.
Pas sûr de ce que votre tentative, mais pour SQL server 2000, vous devez lire À l'aide de procédures stockées étendues ou SP_OA procédures stockées pour charger CLR dans SQL Server n'est pas pris en charge.
Le risque est que vous devez accorder
EXECUTE
autorisation surSP_OACreate
à l'utilisateur.Cela signifie que si ils ont par la suite trouvé un moyen d'exécuter des commandes arbitraires SQL, ils pourraient créer des instances de n'importe quelle bibliothèque disponible sur le serveur.
Un autre problème est que
SP_OACreate
de chargement de la bibliothèque en cours de processus, de sorte que si les bombes, ne sorte de votre serveur.