1.SQL注入
sql就是數據庫,像sql server,mysql,db2,postgresql,oracle等都是比較常見的數據庫,可以通過構造數據庫語句,也就是sql語句,進行增刪該查操作。
SQL注入是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。它是利用現有應用程序,將惡意的SQL命令注入到后臺數據庫引擎執行的能力,它可以通過在Web表單中輸入惡意SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
2.產生SQL注入原因
動態網站是通過腳本語言去調用數據庫從而完成整個網站的運作,,對網站進行操作時,只要是涉及數據庫的操作都會帶入數據庫進行查詢,若沒有任何限制,則可以輸入任意的查詢語句帶入數據庫查詢。
sql注入就是限制用戶輸入不嚴引起的,也就是過濾不嚴。
3.SQL注入分類
從參數類型可以分為:×××注入和字符型注入
從注入類型可以分為以下幾類:
(1)基于錯誤的有顯示位的注入
(2)基于錯誤的有數據庫報錯信息的注入
(3)基于錯誤的沒有數據庫報錯信息的盲注
(4)基礎時間的盲注
4.SQL注入經典流程
(1)判斷Web系統使用的腳本語言,發現注入點,并確定是否存在SQL注入漏洞
(2)判斷Web系統的數據庫類型
(3)判斷數據庫中表及相應字段的結構
(4)構造注入語句,得到表中數據內容
(5)查找網站管理員后臺,用得到的管理員賬號和密碼登錄
(6)結合其他漏洞,想辦法上傳一個Webshell
(7)進一步提權,得到服務器的系統權限
5.判斷SQL注入方法
(1)最常用的方式:直接在url后面輸入and 1=1頁面返回正常,and 1=2頁面返回錯誤,或者是直接加單引號報錯,則有可能存在sql注入;
(2)也可采用or或者xor來判斷;
(3)在沒有錯誤回顯的情況下可以采用and sleep(1)來判斷;
(4)也可采用數學計算,例如 id=2和id=3-1返回測界面一樣,則有可能存在sql注入。
總體來說,輸入的語句影響了數據庫的查詢結果,那么就極有可能存在sql注入。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。