Sql server 使用SP_OACreate、SP_OAMethod等。。是否存在安全风险?
我被告知在SQL Server 2000中使用SP_OACreate、SP_oa方法存在安全风险 我在程序集中使用强名称,并存储在SQL Server计算机上的GAC中Sql server 使用SP_OACreate、SP_OAMethod等。。是否存在安全风险?,sql-server,tsql,Sql Server,Tsql,我被告知在SQL Server 2000中使用SP_OACreate、SP_oa方法存在安全风险 我在程序集中使用强名称,并存储在SQL Server计算机上的GAC中 安全影响/妥协是什么 不确定您在尝试什么,但对于SQL 2000,您应该阅读 风险在于您必须向用户授予SP_OACreate上的EXECUTE权限。 这意味着,如果他们随后找到了执行任意SQL的方法,他们可以创建服务器上任何可用库的实例。 另一个问题是,SP_OACreate在进程中加载库,因此如果它爆炸,您的服务器也会爆炸。不
安全影响/妥协是什么 不确定您在尝试什么,但对于SQL 2000,您应该阅读 风险在于您必须向用户授予
SP_OACreate
上的EXECUTE
权限。
这意味着,如果他们随后找到了执行任意SQL的方法,他们可以创建服务器上任何可用库的实例。
另一个问题是,
SP_OACreate
在进程中加载库,因此如果它爆炸,您的服务器也会爆炸。不确定您的尝试是什么,但对于SQL 2000您应该阅读
风险在于您必须向用户授予SP_OACreate
上的EXECUTE
权限。
这意味着,如果他们随后找到了执行任意SQL的方法,他们可以创建服务器上任何可用库的实例。
另一个问题是,
SP_OACreate
在进程中加载库,因此如果它爆炸,服务器也会爆炸。这些扩展存储过程允许从SQL server内部实例化OLE(“ActiveX”)对象。创建MSXML对象并让它作为HTTP POST发送一些数据库数据的典型用例
在我看来,sp_OACreate etc程序有两个问题:
- 默认情况下,只有sysadmin角色中的主体才能执行这些操作。授予和测试这些权限是一件痛苦的事情。(您必须将用户添加到主数据库,并授予他们在该数据库中的权限。)
- 授予的许可非常广泛。你不能只说“好的用户,你有权创建这种对象并使用它执行xyz”,而应该说“好的用户,你有权创建任何你想要的OLE对象并执行任何你想要的操作。”这是一个相当宽泛的画面
- 默认情况下,只有sysadmin角色中的主体才能执行这些操作。授予和测试这些权限是一件痛苦的事情。(您必须将用户添加到主数据库,并授予他们在该数据库中的权限。)
- 授予的许可非常广泛。你不能只说“好的用户,你有权创建这种对象并使用它执行xyz”,而应该说“好的用户,你有权创建任何你想要的OLE对象并执行任何你想要的操作。”这是一个相当宽泛的画面