DVWA 之 檔案包含漏洞 全等級

2022-09-13 15:57:12 字數 2636 閱讀 9344

一、漏洞概述

file inclusion(檔案包含漏洞)是指服務端將包含的檔案設定為變數,利用url動態呼叫。若沒有對包含檔案進行有效的過濾,就會導致惡意檔案或**被呼叫執行,造成檔案包含漏洞。

php檔案包含的四個函式:

include():包含檔案錯誤時返回一條警告,**繼續向下執行。常用於動態包含。

require():包含檔案錯誤時產生致命錯誤,**停止執行。通常用於重要檔案包含。

include_once():與include()功能相同,區別是如果檔案已經被包含過則不再包含。

require_once():與require()功能相同,區別是如果檔案已經被包含過則不再包含。

二、工具

firefox

三、測試過程

1、級別:low

貼上**:

1

<?php23

// the page we wish to display

4 $file = $_get[ 'page' ];56

?>

7

說明程式直接讀取page引數,使用include進行檔案包含。

我們先改變page引數,編寫乙個不存在的檔案:

發現報錯,顯示沒有這個檔案,同時也暴露了伺服器的絕對路徑。

我們利用絕對路徑讀取本地檔案,構造url:

成功讀取到檔案內容。

可以發現伺服器的配置檔案中的allow_url_fopen = on 和allow_url_include = on,說明伺服器允許包含遠端伺服器上的檔案。

建立乙個檔案:

啟動遠端伺服器:

構造url:

2、級別:medium

貼上**:

11可以看出相比low級別增加了str_replace函式,對page引數中的字串進行了處理,但並不能進行有效的阻止,本地檔案包含時使用絕對路徑依然沒有任何影響;遠端檔案包含時我們可以使用雙寫繞過這個替換規則,例如:hthttp://tp://,中間的http://被替換後依然保留了乙個http://。

因此可構造url:

3、級別:high

貼上**:

1 一、漏洞概述

2<?php34

// the page we wish to display

5 $file = $_get[ 'page' ];67

// input validation

8if( !fnmatch( "file*", $file ) && $file != "include.php" )

1314

?>

15

從**可以讀出high級別使用了fnmatch函式檢查page引數,只有 include.php 以及 file 開頭的檔案才會被包含。

因此,我們依然可以利用file協議繞過,進行本地檔案包含:

但是要執行任意命令則需要配合檔案上傳漏洞進行組合利用。

4.級別:impossible

貼上**:

1

<?php23

// the page we wish to display

4 $file = $_get[ 'page' ];56

// only allow include.php or file.php

7if( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" )

1213

?>

觀察**,發現impossible級別的**採用白名單機制,page引數只能時白名單中的幾個檔名之一,杜絕了檔案包含漏洞。

DVWA 全等級檔案上傳

dvwa簡介 dvwa共有十個模組,分別是brute force 暴力 破解 command injection 命令列注入 csrf 跨站請求偽造 file inclusion 檔案包含 file upload 檔案上傳 insecure captcha 不安全的驗證碼 sql injection...

DVWA 檔案包含漏洞

檔案包含是正常現象,主配置檔案有基礎的一些配置,nginx虛擬機器,include需要包含進來 檔案包含漏洞 file inclusion,檔案包含 漏洞 危害 注意 檔案包含本身是沒有問題的,問題出在如果在執行檔案包含動作時沒有對檔案內容進行審核造成漏洞利用。1 低安全級別 1 本地檔案包含 進行...

DVWA 全等級XSS儲存型(Stored)

接下來我們進入正題 low 原始碼 1 if isset post btnsign 2122 相關函式介紹 trim string,charlist 函式移除字串兩側的空白字元或其他預定義字元,預定義字元包括 t n x0b r以及空格,可選引數charlist支援新增額外需要刪除的字元。mysql...