MySQL注入原理
SQL,叫做結構化的查詢語言,所謂的SQL注入,就是把SQL命令插入到web表單提交或輸入域名頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它就是利用現有程序,將(惡意的)SQL命令注入到后臺數據庫引擎執行的能力,它可以通過在web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
一、SQL注入的危害
1、 數據庫信息泄露:數據庫中存放用戶的信息隱私數據的泄露。
2、 服務器被人遠程控制,被安裝后門。
那么我們怎么樣去尋找一個網站它是否存在這樣的一個注入點呢?
二、MySQL注入檢查
1、 搭建MySQL注入練習環境
1) 先搭建phpstudy(我們直接去下載應用就行了)
2) 將靶場在網站根路徑下解壓,解壓過后,修改數據庫連接配置文件。Sqli-labs-mastersql-connectionsdb-creds.inc,修改數據庫連接賬號密碼為root/root。
3) 我們下載好靶場以后,打開我們的phpstudy,我們打開后先啟動,如果兩個成綠色那就證明沒問題。

找到我們解壓過后的靶場文件

點進去找到下面這個文件

把他的賬號密碼改成root 就行了而這個文件呢也是php去鏈接mysql 數據庫的配置文件。存放著數據庫的賬號密碼,主機和數據庫名,我們只需要看下賬號密碼是否是修改的那個就行了。

然后我們需要ctrl+s保存起來,重啟我們的phpstudy

重啟過后我們就可以去靶場去了,我們用到的瀏覽器是火狐46.0打包版的瀏覽器。如果小伙伴們沒有的話,可以私聊我給你們工具包。

4) 訪問靶場,點擊第一個去安裝這個庫,創建表,把數據導入進去,點擊進去就好了,這樣我們的環境就搭建好了。
2、 判斷某URL是否存在注入(字符型注入)
|url:http://127.0.0.1/sqli-labs-master/Less-1/?Id=1
|后端sql :$sql|="SELECT*FROM users WHERE id=$id LIMIT 0,1";
A:一般在傳參后面加一個單引號或者雙引號,報錯或者沒有返回都是正常的頁面,那么大概率是存在注入的
B:進一步檢查是否存在注入。
3、 數字型注入
1) Url:http://127.0.0.1/sqli-labs-masteter/less-2/?id=1
2) 后端sql:$sql|="SELECT*FROM users WHERE id=$id LIMIT 0,1";
4、 搜索型注入

5、 搜索型注入判斷方式

6、搜索型注入判斷語句

以上就是sql注入的判斷方式和基本的三種類型,后面我們會根據mysql注入的方式來對注入手法分類,大家不要混淆了。
如何找尋注入點,在burpsuite中抓包,分析每一個請求的傳參數,任何與數據庫有交互的地方都有可能存在注入,所以記錄在http history中的目標網站每一個請求,在有參數的地方都可以進行SQL注入的檢測。