開始接觸SQL注入了,最開始根據網上的思路作了兩道注入的題,但對於SQL注入如何實現,怎麼一個流程仍是不理解。後來,在網上查找了不少資料,如今一點點去理解。web
一、利用sqlmap注入的時候,不是全部頁面均可以。好比:http://www.xxx.com/這樣的頁面沒辦法實現注入,只有相似於:http://www.xxx.com/id=1,須要去數據庫中查詢的頁面纔會存在sql注入的漏洞。sql
二、對於上述的登陸頁面,假如用戶名:admin,密碼:123456,正常狀況下知道了用戶名、密碼才能登錄進去,但若是登陸的時候,用戶名:'or 1=1--,密碼123,也能夠登陸進去,爲何?緣由:有的數據庫查詢語句會從web頁面得到數據,而後去數據庫比對,這樣就有了可利用的地方。數據庫
select * from users(數據表) where username='username(用戶從頁面輸入的用戶名)' and password='password(用戶從頁面輸入的密碼)';學習
就會變成 select *from users where username=''or 1=1--' and password='123'blog
由於#和--都屬於註釋符,那麼語句真正執行的時候,--' and password='123',就會被註釋掉,語句變成了 select *from users where username=''or 1=1,1=1爲TRUE,因此語句爲真。登錄
這樣就繞過了用戶名和密碼。select
三、接下來學習:SQL注入,如何判斷存在注入點。map