常见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


猜你喜欢
- 虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境。
- 事实上,互联网用户浏览网页的习惯和顾客浏览商店中物品的习惯没有多大差别。用户打开一个新的页面,扫视一些文字,并点击第一个引起他兴趣的链接。在
- 本博文源于《python数据可视化》(黑马程序员编著)。先讲解bar参数如何使用,然后分别演示堆积柱形图和带误差柱形图画法。bar参数bar
- 说明如果你的项目流量非常小,完全不用担心有并发的购买请求,那么做这样一个系统意义不大。但如果你的系统要像12306那样,接受高并发访问和下单
- 1. NumPy安装使用pip包管理工具进行安装$ sudo pip install numpy使用pip包管理工具安装ipython(交互
- mysql全文搜索,sql的写法: MATCH (col1,col2,…) AGAINST (expr [IN BOOLEAN MODE |
- mysql行转列、列转行 语句不难,不做多余解释了,看语句时,从内往外一句一句剖析行转列 &nb
- 目录1. 为什么选择Playwright1.1 Playwright的优势1.2 已知局限性2. Playwright使用2.1 安装2.2
- 我就废话不多说了,大家还是直接看代码吧~#aaa.py#version 3.5import os #这句是没用了,不知道为什么markdow
- 微服务架构在现代软件开发中日益普及,它将复杂的应用程序拆分成多个可独立部署的小型服务。本文将介绍如何使用 Python 的 FastAPI
- Smarty Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。 Heyes Template&nbs
- 环境:编辑工具:浏览器:安装xlrd安装DDT一 分析1 目录结构2 导入包二 代码import xlrdcl
- Pandas处理CSV文件,分为以下几步:读取Pandas文件统计列值出现的次数筛选特定列值遍历数据行绘制直方图(柱状图)读取Pandas文
- 有向无环图拓扑排序是针对有向无环图(DAG, Directed Acyclic Graph)的具有以下性质:如果这个图不是 DAG,那么它是
- 说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天! 错误时在执行SQL语句的时候发出的,信息如下: Java代码
- keras根据层名称来初始化网络def get_model(input_shape1=[75, 75, 3], input_shape2=[
- 这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 利用线程生成缩略图;读取当前路径下的png文件,在当前路径下生成6464,128128和32*32的缩略图。""&quo
- 一. 认证系统概要create_user 创建用户authenticate 验证登录login 记住用户的登录状态logout 退出登录is
- 一、同一台电脑需要安装2个MYSQL,以mysql-5.7.39和mysql-8.0.30为例; 1.下载:https://dow