mysql靶場 mysql注入合天實驗室靶場

2021-10-20 23:34:33 字數 3343 閱讀 9820

例項

一、熱身運動,不設防

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

think:從**看name傳參是字串型,傳入的字元有單引號保護,未對傳參進行任何過濾和檢測。

說明有五個字段,那麼我們直接進行聯合查詢。

拿到表名:users

那我們繼續查字段

存在id,name,age,groupid,passwd欄位

那我們再繼續name和passwd

就得到我們name和passwd

例項二、節約是種美德,少用空格

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

正則匹配不能使用空格,那我們可以使用/**/代替,因為此處不能用空格那麼我們的注釋就不能用--+因為+也會被當成空格

例項三、繼承美德,不用空格

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

這裡有個正則匹配\s+

\s 是匹配空白字元

+是匹配前面的子表示式一次或多次

那麼我們這個裡還可以使用/**/來繞過

例項四、看仔細點,別被嚇壞了

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

這裡使用了mysql_real_escape_string函式轉義字元

mysql_real_escape_string() 函式轉義 sql 語句中使用的字串中的特殊字元。

下列字元受影響:

\x00

\n\r

\x1a

這裡我們就不能使用『 「

我們可以使用浮點型來讓其報錯執行我們的聯合查詢語句

例項五、這個規則沒多大意義

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

這裡也有乙個正則匹配id傳參的開頭必須是數字,那麼我們上題的payload一樣可以滿足

例項六、想用工具沒門

關鍵**:

本例任務:嘗試進行sql注入,目標為得到資料庫中的使用者名稱與密碼,並對你的sql注入測試語句及簡單說明;

本題是正則匹配我們輸入的結尾必須全是數字型的,那麼我們這裡就直接使用%231結尾就可以繞過了。

mysql手工注入 墨者學院靶場

首先,我們先介紹一下,mysql的資料庫的結構,這個對於理解mysql注入非常重要。information schema資料庫是在mysql的版本5.0之後產生的,乙個虛擬資料庫,物理上並不存在。這個資料庫記錄了整個資料庫的資訊,所有的庫,所有的表,所有的列名等等。首先我們了解一下 informat...

mysql 報錯注入語句 mysql注入

sql的注入型別有以下5種 boolean based blind sql injection 布林型注入 error based sql injection 報錯型注入 union query sql injection 可聯合查詢注入 stacked queries sql injection ...

mysql注入總結 mysql注入總結

4.相關函式 system user 系統使用者名稱 user 使用者名稱 current user 當前使用者名稱 session user 連線資料庫的使用者名稱 database 資料庫名 version mysql資料庫版本 load file mysql讀取本地檔案的函式 datadir ...