管理扩展存储过程

简介:










本文转自 boyi55 51CTO博客,原文链接:http://blog.51cto.com/boyi55/38915 管理扩展存储过程 
from:[url]http://bbs.51cto.com/thread-437-1-3.html[/url]
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。 
其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,
所以请删除不必要的存储过程, 
因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。 
如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句: 
use master 
sp_dropextendedproc 'xp_cmdshell' 

xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。 
如果你需要这个存储过程,请用这个语句也可以恢复过来。 

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 

如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下: 
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty 
Sp_OAMethod Sp_OASetProperty Sp_OAStop 
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下: 
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue 
Xp_regenumvalues Xp_regread Xp_regremovemultistring 
Xp_regwrite 
还有一些其他的扩展存储过程,你也最好检查检查。 
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。 
附: Extended Stored Proc Removal and Restore Scripts
1.remove mssql2000 extended stored procedures.sql 

use master 
exec sp_dropextendedproc 'xp_cmdshell' 
go 
exec sp_dropextendedproc 'xp_dirtree' 
go 
exec sp_dropextendedproc 'xp_enumgroups' 
go 
exec sp_dropextendedproc 'xp_fixeddrives' 
go 
exec sp_dropextendedproc 'xp_loginconfig' 
go 
exec sp_dropextendedproc 'xp_regaddmultistring' 
go 
exec sp_dropextendedproc 'xp_regdeletekey' 
go 
exec sp_dropextendedproc 'xp_regdeletevalue' 
go 
exec sp_dropextendedproc 'xp_regread' 
go 
exec sp_dropextendedproc 'xp_regremovemultistring' 
go 
exec sp_dropextendedproc 'xp_regwrite' 
go 
exec sp_dropextendedproc 'xp_enumerrorlogs' 
go 
exec sp_dropextendedproc 'xp_getfiledetails' 
go 
exec sp_dropextendedproc 'xp_regenumvalues' 
go 

2.restore mssql2000 extended stored procedures.sql 

use master 
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regread', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll' 
go,如需转载请自行联系原作者
目录
相关文章
|
存储 SQL 数据库
数据库|存储过程的管理
数据库|存储过程的管理
91 0
|
SQL 存储 XML
【学习资料】快速入门PostgreSQL应用开发与管理 - 7 函数、存储过程和触发器
大家好,这里是快速入门PostgreSQL应用开发与管理 - 7 函数、存储过程和触发器
|
存储 关系型数据库 MySQL
|
存储 JavaScript NoSQL
《MongoDB管理与开发精要》——3.4节游标和存储过程
本节书摘来自华章社区《MongoDB管理与开发精要》一书中的第3章,第3.4节游标和存储过程,作者:红 丸,更多章节内容可以访问云栖社区“华章社区”公众号查看
1388 0
|
SQL 存储 Windows
SQL Server中未公布的扩展存储过程注入
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/2845412  SQL Server中未公布的扩展存储过程注入很多人也许并不了解,在SQL Server中包含了几个可以访问系统注册表的扩展存储过程。
794 0
|
SQL 存储
sql server 中去掉不安全的扩展存储过程
删除扩展存储过程:EXEC sp_dropextendedproc 'xp_cmdshell' 恢复删除的扩展存储过程:EXEC sp_addextendedproc xp_cmdshell, @dllname='xplog70.
881 0
|
21天前
|
存储 SQL NoSQL
下一篇
无影云桌面