This Domain(Admin5.com) is for Sale:

Access的跨库查询

时间:2007-12-23  来源:不详  作者:迈克DB
大家还记得的跨库查询吧,其实在access中也可以实现2个数据之间的交叉查询。下面我就给大家介绍下access的跨库查询。

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

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



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

内容来自dedecms



在实际的注射中,要同时进行2个select,假如大家熟悉
php mysql注射的话,应该很轻易想到使用union进行联合查询,在access里我们照样可以使用,使用union查询还有一个好处就是不要去对数据进行一个一个字符的去猜,而可以象mysql php注射一样直接暴出字段里的数据(具体的mix已经写了一篇具体的文章)。从上面可以看出来要实现跨库查询必修要下面2个条件:
  1. 使用union查询必须知道前一个select里表的字段数
  2. 必须知道目标的所在位置,绝对路径。
条件1我们可以根据提示错误信息来手工猜解,也可以通过程序自动实现。条件2 这个是个难点,不过我们可以通过利用“access暴库”来实现,有人会说既然可以知道数据位置,那不直接下载得拉,其实不然,现在的一般防止下载,有的根本不web目录下。在黑防第四轮实验室的第一关,就是设置的2个 access的下载系统,一个是雨点下载系统,一个是盗帅下载系统。 经过测试 盗帅下载系统可以暴出但是不让下载,似乎也没什么地方可以注射,而雨点下载系统就是漏洞百出了,可以暴且可以直接下载,还可以注射。不过雨点的后台很简单,没什么可以利用的地方,我们的目标就放在得到盗帅后台密码上了,下面我就给大家演示下,通过雨点系统的注射点对盗帅系统的跨库查询而得到盗帅的后台密码:我们得知雨点系统的list.可以注射,我们先去要得到union里的数据表字段数,提交:

http://219.237.81.46/yddown/list.?id=75 union select 1 from userinfo返回:

Microsoft JET Database Engine 错误 '80040e14'

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

/yddown/list.,行51 字段不对,我写了个perl脚本自动猜,(代码见后)当我们提交:

http://219.237.81.46/yddown/list.?id=75 union select 1,2,3 from userinfo无错误返回:

dedecms.com

标签云:查询 可以 我们 数据 screen.width-333 t

看完这篇,您有何感觉呢?

相关文章

文章评论

共有位Admini5网友发表了评论 查看完整内容

推荐信息

24小时热门信息

最新信息