使用SP_OACreate,SP_OAMethod等有安全隐患吗?

Ton*_*nyP 1 t-sql sql-server

我被告知在SQL Server 2000中使用SP_OACreate,SP_OAMethod存在安全风险.

我在程序集中使用强名称,并存储在SQL Server计算机上的GAC中.

有什么安全隐患/妥协?

Rob*_*oun 5

这些扩展存储过程允许从SQL Server内部实例化OLE("ActiveX")对象.创建MSXML对象并使其作为HTTP POST发送一些数据库数据的典型用例.

在我看来,sp_OACreate等过程有两个问题:

  • 只有sysadmin角色中的主体可以默认执行这些主体.授予和测试这些权限是一件痛苦的事.(您必须将用户添加到Master数据库并在该数据库中授予他们权限.)

  • 授予的许可非常广泛.你不能只说"好的用户,你有权创建这种对象并用它做xyz".相反,你说"好的用户,你有权创建你想要的任何OLE对象,并做任何你想做的事情." 这是一个非常广泛的画布.