DVWA的入侵SQL注入

2021-09-29 04:11:07 字數 2552 閱讀 3141

前言》在攻擊開始前,我們至少要具備操作mysql的一些簡單語句,否則可能此文章對閱讀者的你存在困難,有朋友問這都什麼年代了還會存在sql注入?其實做這個的時候是因為昨天我編寫**的時候寫出了乙個sql注入並且在上線的時候被朋友挖掘了出來,漏洞圖如下,就因為我的一次邏輯判斷錯誤而導致,所以今天想起了寫一次sql注入的文章。

1.分析原始碼

通過原始碼可以發現他並沒有進行任何的引數過濾而是直接的把資料帶入資料庫進行查詢,分析sql查詢語句,可能存在字元型sql注入

2.判讀sql是否存在注入,以及注入型別

語句 1

' and '

1' = '

1 進行了字元拼接

預設語句為: select first_name,last_name from users where user_id=

' $id'

語句為select first_name,last_name from users where user_id=

語句回顯正常表示存在sql注入

因為他沒有過濾任何字串我們修改了原有的$id這個變數傳入的值,構建成為乙個新的語句

3.猜解sql查詢語句中的字段數

回顯正常,那麼表示他至少有2個字段,繼續猜測表段

1'  orderby3

#

從上面2張圖可以看出,這個表提供的可查詢欄位數為2,order by 他在mysql中起了排序的作用,他可以是指定的欄位名或者是字段的第幾個,我們在這裡選用的通過第幾個字段進行排序

4.確定顯示的位置(sql語句查詢後的回顯位置)

5.獲取當前資料庫的名稱以及版本號

可以看到返回的資料庫名稱是dvwa這個庫 資料庫版本號為5.5.53

6.獲取資料庫中的所有表

1' union

select

1,group_concat(table_name)

from information_schema.

tables

where table_schema =

database()

#

7.獲取資料庫中的所有字段

8.獲取資料庫中欄位資料通過我剛剛獲取的字段,進行查詢獲取密碼 這條命令可以獲取id為1的賬號密碼

9.攻擊總結有時候手動注入需要注釋掉原sql語句的』 可以通過 – 或者 # (攻擊思路)

使用者的資料是不可信的,堅信這一點我們就會避免很多被入侵的機會。

dvwa系列 sql注入

前言 本篇博文就不詳細講解sql注入的成因了,有興趣的就去看看我sqlilabs的博文吧,我後面會慢慢完成sqlilabs的博文 low我們先來判斷注入點吧,用最常規的單引號試一試,報錯了,初步判斷應該是字元型的單引號注入。下面就推斷一下後台執行的sql語句,因為這是乙個根據輸入的id來查詢資訊的地...

DVWA靶機 sql自動注入

1.使用dvwa靶機進行sql注入實戰 注 當前靶機安全級別為low 開啟sql漏洞,發現輸入不同的數字會返回不同的資訊,先嘗試手工判斷是否存在sql注入 一般sql注入語句像這樣,我們構造的是後面兩個單引號裡面的內容 select from users where userid 輸入 or 1 1...

MySQL注入試用 DVWA親測SQL注入漏洞

當然,我們也可以使用注釋來注釋後面的單引號 sql中注釋 單行可以使用 忽略 忽略 多行使用 我們試試1 下面我們來利用漏洞獲取資料庫資訊 大概步驟就是 1.猜解所查詢的字段數目 2.獲取字段顯示位 3.通過顯示位獲取資料庫資訊 4.獲取資料庫中的表名 5.獲取表中的列名 字段 6.匯出資料庫中的資...