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

分享 250303——文件包含漏洞(一)

技术分享 746 0 2025-8-1 01:44:59
[i=s] 本帖最后由 yuri 于 2025-8-1 01:44 编辑 [/i]

一、内容概括

  1. 文件包含漏洞原理和文件包含漏洞;
  2. PHP里涉及文件包含的函数;
  3. PHP伪协议。

二、重要知识和细节

  • 文件包含漏洞原理:当程序使用用户可控的参数(如URL参数、表单输入)动态包含文件时,若未对输入进行校验,攻击者可操纵路径加载任意文件;
  • 文件包含漏洞文件包含漏洞:①LFI: local file include(本地文件包含)②RFI:remote file include(远程文件包含),需要满足php.ini配置文件内allow_url_fopenallow_url_include都要为ON
  • PHP里涉及文件包含的函数:
include():用到文件就去读取使用,如果出错只会警告但代码会继续执行

Incluede_once():用到文件就去读取使用,如果出错只会警告但代码会继续执行(包含的文件只会读取一次,不会重复读取)

Require():如果发生错误,代码会停止执行

require_once():如果发生错误,代码会停止执行(包含的文件只会读取一次,不会重复读取)
  • 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. 为什么会需要文件包含功能?

方便,代码简洁

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

当程序使用用户可控的参数(如URL参数、表单输入)动态包含文件时,若未对输入进行校验,攻击者可操纵路径加载任意文件

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

Snipaste_2025-08-01_01-43-56.png

──── 0人觉得很赞 ────

本帖子中包含更多资源

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

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