IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 文件包含攻击 -> 正文阅读

[PHP知识库]文件包含攻击

文件包含:将本地可复用的文件利用包含函数在当前页面中执行。(将文件以脚本执行)
如果某个页码具有这种功能,并且在这个包含的过程中,被包含的函数名可通过参数的方式被用户端控制,那么就可能存在文件包含漏洞。
文件包含漏洞指当PHP函数引入文件时,没有合理校验传入的文件名,从而操作了预想之外的文件,导致以外的文件泄露甚至恶意的代码注入。
在PHP环境下,可利用include、require、include_once、require_once函数调用文件,实现文件包含的效果。

漏洞原理

其原理就职注入一段用户能控制的脚本或代码,并让服务器端以某种形式执行用户传入参数,这就导致文件包含漏洞可被利用的一种方式为Web木马利用各种方式部署在服务器上,并且木马文件或源码可被攻击者利用包含函数打开,导致Web木马被执行,从而使攻击成功。
需要满足的条件为:

  1. Web应用采用include()等文件包含函数,并且需要包含的文件路径使通过用户传输参数的方式引入。
  2. 用户能够控制包含文件的参数,且被包含文件路径可被当前页面访问。

漏洞利用方式

将服务器上的文件包含到当前页面中,漏洞的危害由被包含文件的作用来决定。

上传文件包含

利用包含漏洞将用户上传的php代码由包含函数加载,进而实现代码执行。条件是攻击者需知道上传文件的物理存放路径,还需要对上传文件所在目录有执行权限。

日志文件包含

攻击者可以向Web日志中插入PHP代码,通过文件包含漏洞来执行包含在Web日志中的PHP代码。

  1. 首先通过包含等各种方式获取日志文件的位置,
  2. 在URL中插入执行代码,将其记录进日志文件,注意代码需转义。
  3. 包含日志文件。

敏感文件包含

文件包含可直接读取操作系统中的敏感文件,如当前操作系统信息、用户名密码信息、各类配置文件等。

临时文件包含

如Session文件为例,session文件保存在服务器端,并且保存用户敏感信息。
首先找到Session文件并包含一次,可以通过插件查看当前Session值来找到文件名。

防护手段及对应的绕过方式

两个关注点:包含目标文件内容合法性以及包含文件的路径

文件名验证

包含文件验证是指对可保护文件名设置黑名单或白名单、文件后缀名固定等。

  1. 文件后缀名固定:在包含的文件名后加固定后缀
  2. 文件名过滤:利用白名单或黑名单对传入的文件名后缀进行过滤

文件名验证绕过方式

一种方式是在文件后缀名处下手,另一种方式是通过目录长度限制来截断。

  1. 绕过文件后缀名:可以在文件名后放一个空字节编码。
  2. 通过目录长度限制截断:通过目录长度限制让系统舍弃固定的后缀名。
    Windows下可利用256位截断,Linux下需要4096位截断

路径限制

针对包含文件的目录进行合法性校验,也就是对包含文件的文件路径进行严格限制。

  1. 目录限制:限制用户可调用的目录范围
  2. 目录回退符过滤:避免回退符生效导致路径变化

路径限制绕过方式

可利用…/…/将当前目录进行回溯,可通过某些特殊符号如~ 来尝试绕过,~ 就是尝试是否可直接跳转到当前硬盘目录,在某些环境下,可达到遍历当前文件目录的效果。

中间件安全配置

合理地配置中间件的安全选项也会有良好的防护效果,这主要通过调整中间件及PHP的安全配置,使得用户在调用文件时进行基本的过滤及限制。

  1. 限制访问区域:将用户访问文件的活动范围限制在指定区域。
  2. 设置访问权限:主要思路时限制当前中间件所在用户的权限。

在这里插入图片描述

在这里插入图片描述

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

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 10:53:41  更:2022-05-06 10:54:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 5:04:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码