本文转载:https://xiaochuhe.blog.csdn.net/article/details/122808544
一、概述
文件包含漏洞是指通过构造一个恶意URL来读取非WEB目录中的文件。正常情况下用户通过浏览器访问的范围被限制在被限制在WEB目录里,系统中的其他目录是无法访问的。
以PHP为例,服务器在执行一个PHP文件的时候,可以加载并执行其他文件的php代码,这个功能是通过以下四个函数其中之一来实现的:
(1)incllude()
(2)require()
(3)include_once()
(4)requre()
其中以include为例,作用是将文件包含进来,如果发生错误就会警告,并继续执行。
<?php
$file = $_GET['page'];
include($file)
?>
以上代码中的$file的值是目标文件,这个文件如果是php文件,就会被执行,如果是其他文件,内容会被输出。
二、测试案例
1.linux系统目录结构
2.测试漏洞
三、敏感文件
1、Linux中的敏感文件
/etc/issue
/proc/version
/etc/profile
/etc/passwd
/etc/shadow
/root/.bash_history
/var/log/dmessage
/var/mail/root
/var/spool/cron/crontabs/root
2、windows中的敏感文件
%SYSTEMROOT%repairsystem
%SYSTEMROOT%repairSAM
%WINDIR%win.ini
%SYSTEMDRIVE%boot.ini
%WINDIR%Panthersysprep.inf
%WINDIR%system32configAppEvent.Evt
%WINDIR%system32configAppEvent.Evt
四、远程包含漏洞测试案例
DVWA的low级别存在本地文件包含漏洞,但不存在远程文件包含漏洞,需要在靶机上进行设置,开启漏洞,以下实验才能成功:
在metasploitable2上编辑etc/php5/cgi/php.ini,将allow_url_fopen 和allow_url_include都设置成On,然后重启apache服务。
sudo/etc/init.d/apache2 restart
输入密码,按i进入编辑模式
完成以上工作后,就可进行渗透测试实验:
1.打开DVWA,抓取cookie
再点击第一张图片中的Submit
获取cookie
"Cookie: security=high; PHPSESSID=bf85ff7e01407993a54294ad00255711"
2.启动metasploit,并按如下步骤输入相关配置