DVWA之 File Inclusion 檔案包含

2022-04-30 23:36:21 字數 1770 閱讀 7691

file inclusion,意思是檔案包含(漏洞),是指當伺服器開啟allow_url_include選項時,就可以通過php的某些特性函式(include(),require()和include_once(),require_once())利用url去動態包含檔案,此時如果沒有對檔案**進行嚴格審查,就會導致任意檔案讀取或者任意命令執行。

檔案包含漏洞分為本地檔案包含漏洞與遠端檔案包含漏洞,遠端檔案包含漏洞是因為開啟了php配置中的allow_url_fopen選項(選項開啟之後,伺服器允許包含乙個遠端的檔案)。

low級別:

原始碼:

vulnerabilities/fi/source/low.php

<?php

//the page we wish to display

$file = $_get[ 'page'];

?>

可以發現,伺服器對page引數沒有任何的過濾和檢查。伺服器希望使用者點選圖中的三個鏈結,伺服器會包含相應檔案,並將結果返回。需要說明的是。不管檔案字尾是否是php,都會當做php檔案執行,如果檔案內容確認為php,則正常執行並返回結果,如果不是,則返回列印檔案內容,所以檔案包含漏洞常常會導致任意檔案讀取與任意命令執行。

漏洞利用一:

構造url(絕對路徑):

這樣,就成功讀取了伺服器的檔案。同時也可以再page後加相對路徑,道理相同。

可以看到,medium級別的**增加了str_replace函式,對page引數進行了一定的處理,

將」http:// 」、」https://」、 」 ../」、」..\」替換為空字元,即刪除。

漏洞利用:可以通過雙寫繞過waf。同時過濾的比較少,採用絕對路徑的辦法不受影響。

high

**:

//thepagewewishtodisplay

$file=$_get['page'];

//inputvalidation

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

可以看到,high級別的**使用了fnmatch函式檢查page引數,要求page引數的開頭必須是file,伺服器才會去包含相應的檔案。

看似安全,其實可以利用file協議繞過防護策略。file協議其實我們並不陌生,當我們用瀏覽器開啟乙個本地檔案時,用的就是file協議。

構造url:

DVWA之XSS(反射型)

伺服器 low array key exists key,array 函式檢查某個陣列中是否存在指定的鍵名,如果鍵名存在則返回 true,如果鍵名不存在則返回 false。可以看出 只是判斷name是否存在是否為空,並沒有任何的過濾。漏洞利用 伺服器端 medium str replace find...

DVWA之檔案包含詳解

在web應用中,開發人員為了提高開發效率,通常會把多個頁面存在的共用功能編寫在乙個檔案 中,當其他頁面需要使用的時候,利用檔案包含的函式就可以呼叫這部分的 如果伺服器配置不當或者對使用者輸入的資料過濾不嚴,就會導致使用者可以修改檔案包含的位址,操作意料之外的檔案或進行惡意 注入。require 找不...

dvwa如何開啟 DVWA安裝教程

一 dvwa安裝所需環境 net framework 3.5 php mysql 注 不需要單獨安裝上述軟體,後文中有描述整合的軟體 二 安裝包 1,xampp 2,dvwa 注 本文使用的是xampp,網上描述使用wampserver也可以 三 安裝過程 注意 首先要安裝apache和mysql服...