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

来源:yesky 时间:2007-10-01 14:45:00 

3、进一步解释

  上面用的xp_cmdshell是SQL Server的扩展存储过程中的一个,存储过程就像是我们编程用的函数,内容是按需要编写的一系列SQL 语句和可选控制流语句,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。每个库都可以存放存储过程,但扩展存储过程只存在master 数据库中,对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。但扩展存储过程能执行除了数据库之外的许多操作,上面我们看到通过调用xp_cmdshell可以执行windows系统下的各种命令。

  扩展存储过程的功能非常强大,如图8,它们存在master库中的扩展存储过程中。

  如xp_regenumvalues、 xp_regread、 xp_regwrite 、xp_regdeletevalue、 xp_regdeletekey这些扩展存储过程能对注册表进行读写操作。例如:可以通过下面命令查看注册表中的启动项目。

  Exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run'

   

  图8

  二、注入和跨库攻击

  注入和跨库攻击可能是2004年黑客攻击中最流行的词了,它的原理和上面讲的都是获得了SQL Server管理员sa的权限,从而控制数据库,还可以利用xp_cmdshell这样的SQL Server的扩展存储过程控制Windows系统。注入和空口令获取sa权限的方法不同,注入是ASP程序在连接SQL Server时有漏洞,黑客利用漏洞获取了sa权限。说到这,小王有点疑问,程序中sa连接的是自己的库而扩展存储过程在master库中,如何利用的?简单的说,有sa 的权限后就能查询出用户建的什么库,库中有哪些表,表中有什么字段,表的纪录等。这些又是如何实现的呢?

  要解答这个问题需要从两个方面着手,一是新建个库后,SQL Server起了什么变化?二是SQL Server的权限。

  1、新建一个库后其在系统库和系统表的位置

  例:在SQL Server新建一个库,库名称为:xyz,在该库下建一个test的表,表中字段为id、name、password。

  1)、库在哪里?

  SQL Server安装完毕后默认安装了master、model、msdb、northwind、pubs、tempdb这6个库,其中northwind、pubs是例子库,其它都是系统数据库,各有其用。xyz库建好后,库名称存在master库中的sysdatabases表中,如图9所示,sysdatabases表中的 dbid字段的值大于6的就是用户自己建的库。图10中用Select name FROM sysdatabases where dbid>6可以查出用户自己建的库,刚建的xyz库也在其中。

   

  图9

  

  图10

标签:sql,sql,server,漏洞
0
投稿

猜你喜欢

  • Python对两个有序列表进行合并和排序的例子

    2022-06-07 00:11:37
  • javascript中的replace函数(带注释demo)

    2024-04-18 09:47:52
  • Web标准之路 勿使用W3C废弃的元素

    2009-07-13 12:25:00
  • Mysql自带profiling性能分析工具使用分享

    2024-01-14 17:48:24
  • selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)

    2022-08-16 16:42:00
  • python实用的快捷语法技巧大全

    2022-12-11 11:33:35
  • Python股票数据可视化代码详解

    2021-11-29 15:48:47
  • Tensorflow中tf.ConfigProto()的用法详解

    2022-01-12 03:33:25
  • MySQL服务器 IO 100%的分析与优化方案

    2024-01-24 08:34:10
  • Python中dictionary items()系列函数的用法实例

    2023-11-23 08:03:03
  • 开启SQLSERVER数据库缓存依赖优化网站性能

    2024-01-26 18:05:20
  • javascript中的toFixed固定小数位数 简单实例分享

    2024-05-21 10:20:28
  • Python爬虫爬取杭州24时温度并展示操作示例

    2022-01-04 14:43:33
  • Python爬虫通过替换http request header来欺骗浏览器实现登录功能

    2021-04-05 21:55:26
  • 对Matlab中共轭、转置和共轭装置的区别说明

    2023-12-23 00:47:22
  • 深入了解Python中yield from语法的使用

    2022-05-18 08:24:17
  • Go语言中的匿名结构体用法实例

    2023-07-07 11:10:21
  • Oracle如何直接运行OS命令(下)第1/2页

    2010-07-30 13:26:00
  • Python 实现将数组/矩阵转换成Image类

    2023-03-06 18:09:25
  • 天极产品设计流程

    2007-10-11 18:47:00
  • asp之家 网络编程 m.aspxhome.com