因為之前進行了sql注入的學習,但是對於注入點的查詢和判斷一直是一知半解,所以這次將sql注入點的查詢判斷方法和原理進行一下總結。
first:我們要先判斷是否有注入點。
通過在引數後面加入單引號。
?id=1'
,如果頁面出現錯誤,說明存在注入點。
原理:無論字元型和數字型都會因為單引號個數不匹配而出現錯誤。
ps:頁面正確,也可能是原始碼把單引號過濾了。
second:然後判斷注入型別。
數字型判斷:
1:輸入and 1=1
,若頁面返回正常,進行下一步。
2:輸入and 1=2
, 若頁面返回錯誤,說明sql注入為數字型。
原理:當進行第一步時,後台sql語句判斷為:
id=x and 1=1
語句正確,邏輯為真,所以頁面返回正常。
當進行第二步時,後台sql語句判斷為:
id=x and 1=2
語句正常,邏輯為假,所以頁面返回錯誤。
所以判斷為數字型判斷。
假設sql注入為字元型——
第一步:id='x and 1=1'
第二步:id='x and 1=2'
sql語句把語句都轉換成了字串,所以頁面都返回錯誤。
字元型判斷
1:輸入id=x' and '1' ='1
,若頁面返回正常,進行下一步。
2:輸入id=x' and '1'='2
,若頁面返回錯誤,說明sql注入為字元型。
原理:當進行第一步時,後台sql語句判斷為:
id='x' and '1'='2'
語句正確,邏輯為真,所以頁面返回正常。
當進行第二步時,後台sql語句判斷為:
id='x' and '1'='2'
語句正確,邏輯為假,頁面返回錯誤。
在判斷同時要注意,後台原始碼可能會對閉合方式進行轉換,例如雙引號,單引號括號,雙引號括號,我們還是要多進行嘗試。
尋找後台:在sql注入查詢到敏感資料後,可通過谷歌語法或者御劍等工具掃瞄後台。。。
關於sql注入點的學習還有其他方式方法,希望能夠得到大佬的指點。
繞過方法總結:
謝謝大佬。
當concat函式被過濾的時候,我們可以通過limit函式來依次查詢。
如果表名,庫名被檢測了,我們可以通過十六進製制等方式編碼來繞過。
關於sql注入的學習還有很多東西,革命尚未成功,同志仍需努力。
SQL注入學習
通常情況下,可能存在 sql 注入漏洞的 url 是類似這種形式 對 sql 注入的判斷,主要有兩個方面 可能存在 sql 注入攻擊的 asp php jsp 動態網頁中,乙個動態網頁中可能只有乙個引數,有時可能有多個引數。有時是整型引數,有時是字串型引數,不能一概而論。總之只要是帶有引數的 動態網...
SQL注入學習
2018 02 03 grant 授權語句 revoke 取消許可權 get 方式url的後面可以跟上?query語句 post方式可以上傳檔案或表單 cookie 需要關注的注入點 構造語句 admin or 1 1 回顯 使用union聯合語句 正常可執行 不正常會報錯 不回顯的叫盲注 whal...
關於SQL注入學習
知道sql injection 但是平時懶的去做這方面的東西,以後一定還得注意 net的專案看來要用儲存過程和分層方式來寫了 sql injection 講解 方法 網上蒐集 1.帶引數的的儲存過程來完成使用者驗證的過程 2.使用者通過 提交過來的變數引數進行檢查的 發現客戶端提交的引數中有 exe...