发帖
 找回密码
 立即注册
搜索
0 0

分享 WEB渗透系统班-文件包含漏洞(一)+文件包含漏洞(二)

技术分享 1211 0 2025-7-6 16:47:43
[i=s] 本帖最后由 zeke 于 2025-7-6 16:47 编辑 [/i]

WEB渗透测试工程师系统班250303期
第31节课作业
1.为什么会需要文件包含功能?

文件包含(File Inclusion)是编程和软件开发中的一项常见功能,主要用于将外部文件的内容嵌入到当前文件中。

避免重复:复用代码(如函数、配置),不用重复写。

模块化:拆分功能到不同文件,方便维护。

动态加载:根据条件切换内容(如多语言、主题)。

统一管理:集中修改配置或依赖项。

2.文件包含漏洞的原理是什么?

攻击者通过控制文件包含的路径参数,让程序加载并执行恶意文件,从而导致任意代码执行、敏感信息泄露等安全问题。

3.实操课程内讲解的文件包含漏洞靶场

这节课是搭建靶场,靶场搭建完毕

一、笔记标题:WEB渗透系统班-文件包含漏洞(一)+文件包含漏洞(二)

二、文章内容:

  1. 课程内容概要

    格式:
    主要知识点1:文件包含漏洞原理
               文件包含严格来说不算漏洞,算功能,但是,由于包含、引用、读取、访问的文件不可控的性质,导致漏洞的产生
    主要知识点2:文件包含-功能
               include("../sql-connections/sql-connect.php");
               10 个地方用到同样的 600 行代码
               文件
               如果调用了文件包含相关的函数,那么就可以直接解析执行文件内的 php 代码,不会受到文件类型的影响
    主要知识点3:实例代码
               <?php
                 $file = $_GET['file'];
                 include($file);
               ?>
    
    1.txt
           hello world!
           2.txt
           &lt;?php phpinfo();?&gt;
           如果读取的文件是 php 代码类的文件,那么可以直接解析执行
           如果不是 php 代码文件,那么就会将文件的原始内容直接输出出来
    

    主要知识点4:漏洞分类
    LFI: local file include(本地文件包含)

    RFI:remote file include(远程文件包含)
           - 需要满足两个前提php.ini 配置文件内
           - allow_url_fopen  allow_url_include   都要为 ON
           ![image-20250519203909538](C:\Users\Administrator\Desktop\image-20250519203909538.png)
    

附图:

知识点2:

文件包含.png

知识点3:

image-20250519203909538.png

知识点4:

PixPin_2025-07-06_14-36-41.png

2.重点知识与细节(针对本节课的核心内容进行详细记录,包含公式、代码、重要原理等)

概念解析
    概念1:文件包含函数
          include():用到文件就去读取使用,如果出错只会警告但代码会继续执行
          Incluede_once():用到文件就去读取使用,如果出错只会警告但代码会继续执行(包含的文件只会读取一次,不会重复读取)
          Require():如果发生错误,代码会停止执行
          require_once():如果发生错误,代码会停止执行(包含的文件只会读取一次,不会重复读取)
概念2:利用
      常见敏感目录:https://www.cnblogs.com/NBeveryday/articles/sensitvefile.html
概念3:php 伪协议
      file:// — 访问本地文件系统
      http:// — 访问 HTTP(s) 网址
      ftp:// — 访问 FTP(s) URLs
      php:// — 访问各个输入/输出流(I/O streams)
      	php://filter/read=convert.base64-encode/resource=文件名
      	php://input:将 post请求的数据当做代码执行

      压缩类型:可以直接访问压缩包里面的子文件
      zlib://    compress.zlib://压缩包名  (只能够执行 gz 后缀的压缩包)
      zip://压缩文件绝对路径%23压缩文件内的子文件名
      bzip://
      phar://压缩文件绝对路径/子文件名  (可以使用相对路径也可以使用绝对路径)
      bzip2://

      data:// — 数据(RFC 2397) 执行代码
      	data://text/plain;base64,编码的代码
      	data://text/plain,原始代码

      glob:// — 查找匹配的文件路径模式
      phar:// — PHP 归档
      ssh2:// — 安全外壳协议 2
      rar:// — RAR
      ogg:// — 音频流
      expect:// — 处理交互式的流
关键步骤
步骤1:无
步骤2:
步骤3:
相关代码(如果没有可省略)

附图:

php伪协议-file

file.png

php伪协议-http

http.png

php伪协议-filter

php.filter.png

3.实操练习 和 解析(记录自己实操练习时的思路、解法,以及自己遇到的困难)

搭建靶场

4.个人总结(写下自己对本节课的理解、收获、困惑和需要进一步学习的内容)

    本节课最大的收获是:学习了文件包含漏洞的原理和利用
    仍然存在疑问的地方:暂无
    需要课后深入学习的内容:漏洞实际操作
──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回