当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server下几个危险的扩展存储过程

MSSQL
SQL Server 2008 层次ID数据类型
超全sql语句全集值得收藏
深入了解SQL Server 2008高可用性
Mysql服务无法启动的1067错误解决
MySQL实现SQL Server的sp_executesql
SQL中自己创建函数 分割字符串
Sql server 2005 找出子表树
SQL Server数据库备份多种方法
如何恢复/修复SQL Server的MDF文件
浅析SQL Server 2008企业级新特性
SQL Server小知识:Processor Affinity
如何应对SQL Server数据库崩溃
微软SQLServer密码管理的危险判断
SQLServer 2005中如何列所有存储过程
sql server 带列名导出至excel
SQL Server中索引使用及维护
编写安全的SQL Server扩展存储过程
SQL Server数据库实用小技巧集合
给SQL Server传送数组参数的变通办法
SQL语句参考及记录集对象详解

MSSQL 中的 SQL Server下几个危险的扩展存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 115 ::
收藏到网摘: n/a

MSSQL数据库存在几个危险的扩展存储过程,默认Public组可执行权限,SQL注入者可利用此读取文件目录及用户组,并可通过先写入数据库然后导出为文件的方法往服务器写入危险脚本进一步提权,或直接使用某些存储过程执行命令,如xp_cmdshell。 这些存储过程如下:
sp_makewebtask
xp_cmdshell
xp_dirtree
xp_fileexist
xp_terminate_process
sp_oamethod
sp_oacreate
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
sp_add_job
sp_addtask
xp_regread
xp_regwrite
xp_readwebtask
xp_makewebtask
xp_regremovemultistring
对应措施:删除上述存储过程或可执行文件或修改存储过程相应用户组可执行权限,删除上述存储过程对应脚本为:
drop PROCEDURE sp_makewebtask
exec master..sp_dropextendedproc xp_cmdshell
exec master..sp_dropextendedproc xp_dirtree
exec master..sp_dropextendedproc xp_fileexist
exec master..sp_dropextendedproc xp_terminate_process
exec master..sp_dropextendedproc sp_oamethod
exec master..sp_dropextendedproc sp_oacreate
exec master..sp_dropextendedproc xp_regaddmultistring
exec master..sp_dropextendedproc xp_regdeletekey
exec master..sp_dropextendedproc xp_regdeletevalue
exec master..sp_dropextendedproc xp_regenumkeys
exec master..sp_dropextendedproc xp_regenumvalues
exec master..sp_dropextendedproc sp_add_job
exec master..sp_dropextendedproc sp_addtask
exec master..sp_dropextendedproc xp_regread
exec master..sp_dropextendedproc xp_regwrite
exec master..sp_dropextendedproc xp_readwebtask
exec master..sp_dropextendedproc xp_makewebtask
exec master..sp_dropextendedproc xp_regremovemultistring

举例:
exec xp_dirtree 'C:' 1,1