通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。具體來說,它是利用現有應用程式,將(惡意的)sql命令注入到後台資料庫引擎執行的能力,它可以通過在web表單中輸入(惡意)sql語句得到乙個存在安全漏洞的**上的資料庫,而不是按照設計者意圖去執行sql語句
當攻擊者注入的sql語句被傳送到伺服器端資料庫中後,通過執行這些惡意語句欺騙資料庫執行,導致資料庫資訊洩露。
資料庫注入漏洞是危害最大也是最受關注的漏洞
1.按引數型別分兩種:數字型,字元型
2.按資料庫返回的結果分為:回顯注入、報錯注入、盲注。
回顯注入:直接在存在注入點的當前頁面中獲取返回結果。
報錯注入:程式將資料庫的返回錯誤資訊直接顯示在頁面中,雖然沒有返回資料庫的查詢結果,但是可以構造一些報錯語句從錯誤資訊中獲取想要的結果。
盲注:程式後端遮蔽了資料庫的錯誤資訊,沒有直接顯示結果也沒有報錯資訊,只能通過資料庫的邏輯和延時函式來判斷注入的結果。根據表現形式的不同,盲注又分為based boolean和based time兩種型別。
雪論壇提供的平台:
如下圖,從less1-less22可以根據提供平台 循序漸進地練習sql注入
第一步:開啟less-1頁面
第二步:修改url為less-1/?id=1 union select 1,2,database()
sql 注入 白帽子 SQL注入之二次注入
原理 使用者向資料庫裡存入惡意的資料,在資料被插入到資料庫之前,肯定會對資料庫進行轉義處理,但使用者輸入的資料的內容肯定是一點摸樣也不會變的存進資料庫裡,而一般都預設為資料庫裡的資訊都是安全的,查詢的時候不會進行處理,所以當使用者的惡意資料被web程式呼叫的時候就有可能出發sql注入。二次注入比普通...
《白帽子講Web安全》 學習筆記之注入攻擊
注入攻擊的本質是,把使用者輸入的資料當作 執行。有兩個關鍵的條件 一是使用者能夠控制輸入 二是原本程式要執行的 拼接了使用者輸入的資料。1 sql注入 sql注入,就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。sql注入攻擊是一種...
白帽子講web安全 編碼問題sql注入的 筆記
在書上166面的7.2.4編碼問題,討論了寬字符集,gbk編碼導致的漏洞。但是有些地方講得有點迷糊,也許還有錯別字。所以我結合國外在06年發布的addslashes versus mysql real escape string 這篇文章分析了一下。這裡需要知道,作者借char表達的意思是字元,不是...