一.sql注入產生的原因
sql注入用一句概況就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。 通過控制部分sql語句,攻擊者可以查詢資料庫中任何自己需要的資料,利用資料庫的一些特性,可以直接獲取資料庫伺服器的系統許可權。
要利用sql注入必須要滿足兩個必要的條件:
1)使用者能夠控制資料的輸入
2)原本要執行的**,拼接了使用者的輸入
正是由於這種拼接,導致了**的注入。對於乙個web請求來說,sql注入可能存在的url引數,cookie,post資料,以及http訊息頭等。
二. 漏洞分類
根據是否回顯可以分為:顯示注入,盲注
根據注入型別分為: 字元型,數字型
三.檢測是否存在sql注入
1.注入字串數字型別時
1)提交乙個單引號看是否會引發與正常響應不同或者報錯
2)如果有錯誤,輸入兩個單引號,把後面的單引號進行轉義,看錯誤是否消失,消失中則表明可能存在sql注入
3)進一步確定漏洞是否存在,構造」良性「輸入
oracle:'||'foo
ms-sql:'+'foo
mysql:' 'foo
2.注入型別為數字
1)嘗試輸入乙個結果等於原始數字值的簡單數學表示式,例如1+1,如果做出相同的響應,則表明它易於受到攻擊(前提是改變量字會對響應有較大的改變)
2)如果第乙個測試成功,可以用更複雜的方式:67-ascii('a')或者51-ascii(1)
3.時間延遲判斷
主要是構造語句達到時間延遲的目的。
常用的語句:
username=fff';waitfor%20delay%20'0:0:10'%20--%
SQL注入之Sqlmap使用
我們都知道,對於網路滲透最重要的一步是要拿到後台資料庫管理員的密碼與使用者名稱,那麼怎麼得到這個使用者名稱和密碼呢?就要用到今天所說的sqlmap,它不僅適用於內網環境,在外網環境也是非常受歡迎的,並且在kali linux裡邊顯得尤為重要,它所到之處幾乎是 寸草不生 那麼接下來我就簡單介紹下sql...
使用sqlmap進行SQL注入檢測
首先我們需要訪問自己的專案,找到乙個需要檢測的url,這個url需要對應後台的處理,這個url對應的後台需要接收引數,並且會將我們的引數作為sql的一部分去資料庫進行查詢之類的操作。如 我們有個鏈結 使用python sqlmap.py u batch 這裡 batch表示不需要使用者輸入,使用預設...
SQL注入神器 SqlMap
sqlmap是乙個開源的滲透測試工具,可以自動檢測和利用sql漏洞,並且在sectools.org注入工具中一直排名第一。sqlmap分配有乙個強大的搜尋引擎,如果url存在注入漏洞,它就可以從資料庫中直接提取資料,如果資料庫使用者許可權較大的話甚至可以直接執行作業系統的一些命令 讀取檔案。sqlm...