• 文件包含


    一.定义:

    为了更好的使用代码的重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码

    二.产生原因:

    在文件包含时候,为了灵活包含文件,将包含文件设置为变量,通过动态变量来引入需要包含的文件时,用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过,这样就导致了文件包含漏洞。

    <?php 
    	$file=$_GET['file'];
    	include($file)
    

    三.文件包含函数

    include() //代码错误只生成警告(E_WARNING),并且脚本会继续
    include_once()//包含一次
    require()//代码错误生成致命错误(E_COMPILE_ERROR)并停止脚本
    require_once() //包含一次
    

    四.文件包含漏洞分类

    1.本地文件包含

    2.远程文件包含

    php配置:

    allow_url_fopen : 可以读取远程文件包含

    allow_url_include: 可以使用include require

    五.php伪协议

    http://127.0.0.1/index.php?file=php://filter/read=convert.base64-encode/resource=phpinfo.txt
    

    http://127.0.0.1/index.php?file=zip://phpinfo.zip%23phpinfo.txt
    

    六.其他利用方式:

    1.00截断

    2.长度截断(win:256 ,Linux:4096)

    3.包含日志

    4.包含session

    七.文件包含防御:

    1.php中使用open_basedir 配置文件限制访问在指定的区域

    2.过滤点, 斜杠,反斜杠

    3.禁止服务器远程文件包含

    4.尽量不要使用动态包含,可以在需要包含的页面固定写好

  • 相关阅读:
    选美大赛示例 你会选谁
    jQuery简单的手风琴菜单
    jquery根据name属性查找
    js鼠标滚轮滚动图片切换效果
    图片动画横条广告带上下滚动
    淘宝顶部导航菜单
    下雪了堆雪人去 下雪特效
    多彩图标按钮动画下拉菜单
    JavaScript实现HTML5烟花特效
    MySQL:参数wait_timeout和interactive_timeout以及空闲超时的实现【转】
  • 原文地址:https://www.cnblogs.com/dyanbk/p/12250303.html
Copyright © 2020-2023  润新知