zoukankan      html  css  js  c++  java
  • 文件包含

    文件包含的基础知识。
    一、文件包含
    1.概念 文件包含:程序员通常会把可重复使用函数或语句写到单个文件中,在使用某个功能时,直接调用此文件,不用再编写调用文件的过程称为包含。

    2.PHP 中的⽂件包含语句 PHP 提供了四个⽂件包含的语句,四个语句之间略有不同:
    语句区别include()多次包含,如果包含失败,脚本产⽣警告,继续运⾏。include_once()⼀次包含,如果包含失败,脚本产⽣警告,继续运⾏。require()多次包含,如果包含失败,脚本产⽣错误,结束执⾏。require_once()⼀次包含,如果包含失败,脚本产⽣错误,结束执⾏。
    相应配置: ⽂件包含是PHP 的基本功能之⼀,有本地⽂件包含与远程⽂件包含之分。 通俗来讲,本地⽂件包含就是可以读取和打开本地⽂件,远程⽂件包含就是可以远程(⽅式)加载⽂件。 可通过php的配置文件php.ini中的选项进行配置
    allow_url_fopen = On/Off # http://|ftp:// 访问远程⽂件
    allow_url_include = On/Off # require|include http://|ftp:// 访问远程⽂件
    12
     包含示例: 示例代码:
    // fileInclusion.php
    if(!empty($_GET['path'])){
     include $_GET['path'];
    }else{
     echo "?path=./info.php"; }
    12345
    本地文件包含:
    http://192.168.16.109/fileInclusion/fileInclusion.php?path=./info.php
    1
     远程⽂件包含
    http://localhost/fileInclusion/fileInclusion.php?
    path=http://192.168.16.109/phpinfo.php
    12
    2.漏洞原理及特点 优点:PHP ⽂件包含是程序设计的基础功能之⼀,能够减少代码量,提⾼开发效率。 缺点:会产生文件包含漏洞 漏洞原理:文件包含配置(php.ini)、动态调用、客户端可控。 特点: ⽆视⽂件扩展名读取⽂件。
    # 直接读取图⽚的源代码
    http://192.168.48.139/fileInclusion/fileInclusion.php?
    path=../DVWAdvwaimageslogin_logo.png
    123
     
    ⽆条件解析PHP 代码
    # 当读取到被包含⽂件的源码,如果遇到符合PHP 代码规范的内容,就会⽆条件执⾏
    # 同时为图⽚⽊⻢提供了出路
    http://192.168.48.139/fileInclusion/fileInclusion.php?path=1_2.jpg
    123
    可以和图片木马结合,来执行图片木马,完了用蚁剑连接。

  • 相关阅读:
    个人软件过程 1
    一个月学会VC++2012 3.我们动手吧!
    一个月掌握VC++2010?
    个人软件过程2 项目开发的基本流程
    个人软件过程4 功能说明和用户体验设计
    一个月学会VC++2010 5.对话框的数据交换
    个人软件过程3 需求分析
    一个月学会VC++2010 4.细说对象之香艳旖旎
    一个月学会VC++2010 1.送上门的银子
    一个月学会VC++2010 2.看起来风险不大
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/15054826.html
Copyright © 2011-2022 走看看