初識SQL注入

什麼是SQL注入(SQL Injection)?html

SQL注入是網站攻擊途徑之一,這裏引用一下百度百科的解釋:「所謂SQL注入,就是經過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令」。sql

簡單示例數據庫

網站的登陸界面,須要用戶輸入用戶名和密碼來進行登陸,若是網站開發者在開發時沒有考慮對SQL注入加以防範,則惡意攻擊者就能夠經過在用戶名和密碼輸入框中添加特定的SQL語句,以達到查詢後臺數據庫獲取數據,甚至對後臺數據庫中的數據形成破壞的目的。服務器

網站全部用戶的用戶名和密碼通常都保存在後臺數據庫的表中,當用戶輸入用戶名和密碼時,經過執行諸以下面形式的查詢語句來驗證用戶名和密碼是否輸入正確。測試

select * from login where username='XXX' and password='YYY'網站

若是惡意攻擊者對用戶名和密碼分別輸入XXX和password' OR 1=1,則驗證用戶名和密碼時將執行這樣的語句:htm

select * from login where username='XXX' and password='password' OR 1=1blog

由於1=1永遠爲真,所以若是開發者沒有采起任何措施驗證用戶輸入,就會使得攻擊者在無需知道正確的用戶名和密碼的狀況下輕易的登陸成功。開發

如何測試SQL注入漏洞字符串

做爲Tester,最關注的就是如何測試SQL注入漏洞,基於我目前的理解,那就是:以黑客的心態,經過各類SQL注入方法,來攻擊被測目標。所以,掌握各類SQL注入方法很重要。本文的參考資料中介紹了一些SQL注入方法,之後有時間,再進行research整理SQL注入方法吧:)

參考資料:

SQL注入攻擊

MSDN-SQL注入

相關文章
相關標籤/搜索