<web渗透-问件包含漏洞>

(1) .概述

程序开发人员通常会把可重复使用的函数写在单个文件中
在使用某个函数的时候,直接调用此文件,无需再次编写,
这种调用文件的过程称为文件包含

程序开发人员都希望代码更加灵活,所有通常会把
被包含的文件设置为变量,进行动态调用,正由于这阵灵活性
导致客户端可以调用任意文件,造成文件包含漏洞

(2) .php中文件包含

函数                区别

include() 文件包含失败时会产生警告
,脚本继续执行

include_once() 与inlude()功能一样
该文件中已经被包含过
则不会再次包含
文件只会包含一次

require() 文件包含失败时产生错误
结束脚本执行

require_once() 与require()功能一样,
该文件中已经被包含过
则不会再次包含
文件包含一次

.用法
  include '/路径/function_name' ;
    include ('/路径/function_name');

  require '/路径/function_name'

.漏洞产生原因

 1.web应用实现了动态包含
 2.动态包含的文件路径参数,客户端可控

   '例如'
     $path=$_GET['path'];
     include $path

.相关配置

   文件包含有本地包含和远程文件包含之分

     远程文件包含利用HTTP,FTP,PHP伪协议 远程加载文件

     配置php.ini
       
        文件包含开关
       allow_url_fopen=On/Off
        远程文件包含开关
       allow_url_include=Off/On
       
       'php伪协议' 
        php:

 .漏洞原理
    php提供的文件包含功能
     @ 无视文件扩展名读取文件
       包含文件时,会读物文件的源码,包括图片文件
        ?path=1.jpg
     
     @无条件解析php代码
        文件包含在读取文件源码时,
         如果遇到符合php语法
          得代码,会无条件执行
          如将 info.php 改名为 info.rar
          为图片木马提供了一种引用方法

  '空字节安全绕过' (已经淘汰)
   php版本小于 5.3.4 
    并且需要关闭
     magic_quotes_gpc=Off
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值