当前位置:首页>Linux>2026年Linux内核内存页面覆写类高危漏洞技术研究

2026年Linux内核内存页面覆写类高危漏洞技术研究

  • 2026-07-02 16:37:05
2026年Linux内核内存页面覆写类高危漏洞技术研究

2026 年 Linux 内核内存页面覆写类高危漏洞技术研究

摘要:2026 年 4 月至 5 月,Linux 内核在不到一个月的时间内密集披露了四个高危本地权限提升漏洞,其中 Copy Fail(CVE-2026-31431)、Dirty Frag(CVE-2026-43284/43500)和 Fragnesia(CVE-2026-46300)均属于 "内存页面缓存写破坏" 漏洞家族,而 PinTheft 则暴露了 RDS 子系统的内存操作缺陷。这些漏洞潜伏时间长、影响范围广、利用门槛极低且稳定性接近 100%,攻击者仅需本地普通用户权限即可获取系统最高 root 权限,甚至突破容器隔离边界直接接管 Kubernetes 集群节点。本文系统分析了这四类漏洞的技术原理、利用链路与攻击场景,对比了它们与历史经典漏洞的差异,提出了分层防御与缓解措施,并探讨了其对 Linux 内核安全与云原生安全的深远启示。

关键词:Linux 内核;本地权限提升;页缓存写破坏;容器逃逸;CVE-2026-31431;Fragnesia

1 引言

Linux 内核作为全球应用最广泛的操作系统内核,支撑着从个人电脑、企业服务器到云平台、物联网设备的绝大多数计算基础设施。内存页面缓存(Page Cache)是 Linux 内核提升文件系统性能的核心机制,它将磁盘文件内容缓存到物理内存中,实现了文件访问的加速与全局共享。然而,页缓存的权限隔离与内存管理一直是内核安全的薄弱环节,历史上曾出现过 Dirty Cow(CVE-2016-5195)、Dirty Pipe(CVE-2022-0847)等多个利用页缓存缺陷实现提权的经典漏洞,对全球 IT 基础设施造成了严重威胁。

2026 年 4 月 29 日至 5 月 23 日,Linux 内核相继披露了四个高危本地提权漏洞,其中三个属于页缓存写破坏类型。与历史漏洞相比,这波新漏洞具有以下革命性特点:

零竞态条件:利用过程无需依赖精确的时序配合,稳定性接近 100%

内存级隐蔽性:仅修改内存页缓存而不写入磁盘,传统文件完整性检测手段完全失效

原生容器逃逸:可通过全局共享的页缓存直接突破容器隔离,绕过 Kubernetes 最严格的安全策略

全版本通杀:一套利用代码可覆盖 2017 年至今的所有主流内核版本,无需版本适配

其中 Copy Fail 漏洞已被 CISA 列入已知被利用漏洞目录(KEV),微软威胁情报团队也确认了 Dirty Frag 的在野利用活动。本文旨在对这波内存页面覆写类漏洞进行系统性技术研究,为安全防护与应急响应提供理论依据和实践指导。

2 漏洞背景与技术基础

2.1 Linux 页缓存机制与安全风险

页缓存是 Linux 内核实现的磁盘文件内存缓存系统,其核心设计目标是减少磁盘 I/O 操作。当用户态进程读取文件时,内核首先将文件内容从磁盘加载到物理内存的页缓存中,后续对同一文件的访问将直接命中缓存。页缓存具有三个关键特性,同时也是安全风险的根源:

全局共享性:同一文件的页缓存在系统范围内全局共享,包括宿主机与容器、不同进程之间。这是页缓存写破坏漏洞能够实现容器逃逸的根本原因。

只读保护:对于只读文件,其对应的页缓存页被标记为只读,用户态进程无法直接修改。

内核态权限绕过:内核态代码拥有修改任意内存页的权限,即使该页被标记为只读。如果内核代码存在逻辑缺陷,允许攻击者控制内核态向只读页缓存写入数据,就会形成页缓存写破坏漏洞。

攻击者利用这类漏洞的通用模式是:篡改系统中 setuid root 程序(如/usr/bin/su/usr/bin/sudo)的页缓存,注入恶意代码并执行,从而实现本地权限提升。

2.2 2026 年 5 月漏洞分类

根据漏洞所在的内核子系统与技术原理,本次披露的四个高危漏洞可分为三类:

漏洞名称

CVE 编号

披露时间

受影响模块

漏洞类型

Copy Fail

CVE-2026-31431

2026-04-29

algif_aead

AF_ALG 加密接口页缓存写破坏

Dirty Frag

CVE-2026-43284/43500

2026-05-08

esp4、esp6、rxrpc

XFRM 网络子系统页缓存写破坏

Fragnesia

CVE-2026-46300

2026-05-13

esp4、esp6

XFRM 网络子系统页缓存写破坏

PinTheft

未分配

2026-05-23

rds

RDS 子系统内核内存结构篡改

其中前两类均属于页缓存写破坏漏洞,是本文研究的重点。PinTheft 虽然不直接篡改页缓存,但同样属于高危本地提权漏洞,且对 Arch Linux 系统影响尤为严重。

3 核心漏洞技术原理深度解析

3.1 Copy Fail(CVE-2026-31431)漏洞原理

Copy Fail 漏洞由 Theori 团队研究员 Taeyang Lee 通过 Xint Code AI 审计工具发现,在 Linux 内核中潜伏近 9 年,影响 2017 年至今的几乎所有主流 Linux 发行版,CVSS 评分为 7.8(高危)。

3.1.1 漏洞形成的三个关键节点

Copy Fail 并非单一代码错误导致,而是长达 6 年的三次内核变更叠加的结果,每一次变更单独审查均无明显安全问题,但组合后形成了致命的逻辑缺陷:

2011 年:authencesn 算法模板引入:内核加入authencesn算法模板用于支持 IPsec 的 64 位扩展序列号。该算法在解密操作中会向输入缓冲区的末尾写入 4 字节的序列号数据,当时仅使用调用者提供的临时缓冲区,无安全风险。

2015 年:AF_ALG 支持 splice 零拷贝:内核 AF_ALG 加密接口新增 AEAD 算法支持,允许普通用户无特殊权限通过套接字调用内核加密能力,同时支持通过splice()系统调用将文件页缓存直接传入加密操作,无需用户态内存拷贝。此时加密操作采用 out-of-place 模式,不会直接修改源文件缓存。

2017 年:in-place 性能优化补丁:内核提交了72548b093ee3号补丁,将 AF_ALG 的 AEAD 加密操作改为 in-place 模式,直接在源数据所在的内存页执行加密 / 解密操作,以减少内存拷贝提升性能。正是这一补丁,打通了只读页缓存与可写加密操作的连接,成为漏洞形成的最后一块拼图。

3.1.2 漏洞核心逻辑

Copy Fail 漏洞的本质可以用一句话概括:内核通过 in-place 优化,将只读的文件页缓存放入了本不该拥有写权限的加密操作散列表中,而authencesn算法在解密过程中会向输入缓冲区末尾写入攻击者可控的 4 字节数据,最终实现对只读页缓存的受控篡改。

漏洞触发的三个关键技术细节:

splice () 的零拷贝特性:攻击者可以通过splice()将目标文件的页缓存直接传递给内核加密模块,无需将数据拷贝到用户态,从而绕过了用户态对只读内存的保护。

in-place 加密的权限突破:in-place 模式下,加密模块直接修改源数据所在的内存页。由于内核态代码拥有最高权限,即使该页被标记为只读,内核也可以直接写入。

authencesn 的可控写入原语:该算法在解密时写入的 4 字节序列号完全由攻击者控制,为篡改页缓存提供了精确的写入能力。

3.2 Fragnesia(CVE-2026-46300)漏洞原理

Fragnesia 由 V12 Security 团队的 William Bowling 发现,于 2026 年 5 月 13 日公开,CVSS 评分为 7.8(高危)。值得注意的是,Fragnesia 实际上是 Dirty Frag 补丁的副作用,是一个独立的逻辑漏洞。

3.2.1 漏洞根因

Fragnesia 的核心问题位于 Linux 内核的 XFRM ESP-in-TCP ULP(Upper Layer Protocol)子系统中。ESP-in-TCP 是一种将 IPsec ESP 封装数据通过 TCP 传输的方案,用于穿越 NAT 或防火墙。

漏洞的本质是:当 TCP 套接字从 normal 模式切换到espintcp ULP 模式时,如果接收队列中已有通过splice从文件导入的数据,内核会错误地将这些文件页当作 ESP 密文处理,导致 AES-GCM 密钥流被直接 XOR 写入页缓存。具体来说,在执行 skb coalescing(套接字缓冲区合并)操作时,内核 "忘记" 了某个数据片段(frag)实际上是与文件系统共享的,从而允许加密过程中的密钥流写入到共享的页缓存页中。

Fragnesia 的名称正是来源于 "frag + forgotten",意为 "被遗忘的片段"。

3.2.2 关键技术特性

Fragnesia 具有以下使其极具威胁的技术特性:

逐字节任意写入:攻击者可以通过构造不同的 IV 值,实现对页缓存中任意字节的逐字节修改。每次触发漏洞可以修改一个字节,写入 192 字节的提权 stub 大约需要 192 次迭代。

完全无竞态条件:与 Dirty Pipe 等历史漏洞不同,Fragnesia 的利用不需要依赖任何时序配合,稳定性达到 100%。

绕过容器安全策略:攻击者可以通过unshare()系统调用创建独立的用户和网络命名空间,在容器内部获取CAP_NET_ADMIN权限。即使是 Kubernetes 最严格的 PSS Level-3 安全策略也无法阻止unshare()调用。

3.3 PinTheft 漏洞原理

PinTheft 漏洞由 V12 安全团队于 2026 年 5 月 23 日公开,位于 Linux 内核的 Reliable Datagram Sockets(RDS)子系统中。RDS 是一种为集群环境设计的高性能、低延迟通信协议。

PinTheft 的核心是 RDS 内核模块中的一个逻辑错误,允许本地普通用户操控内核内存结构,从而获取 root 权限。与页缓存写破坏漏洞不同,PinTheft 不依赖于篡改文件页缓存,而是通过直接修改内核内存中的关键数据结构实现提权。

该漏洞的最大特点是对 Arch Linux 系统的影响尤为严重。与 Ubuntu、RHEL 等主流发行版默认禁用 RDS 模块不同,Arch Linux 将 RDS 直接编译进标准内核配置,导致 Arch 系统在默认状态下即存在漏洞。此外,漏洞披露时同步公开了可正常工作的利用代码,使得攻击门槛极低,修复窗口从数周缩短至数小时。

4 利用链与攻击场景分析

4.1 典型利用链分析

4.1.1 Copy Fail 利用链

Copy Fail 的利用过程是一条完美的直线型攻击路径,无竞态条件、无复杂的内存喷射,稳定性接近 100%,完整利用仅需 6 个步骤:

无权限初始化加密上下文:攻击者以本地普通用户身份,通过 AF_ALG 套接字初始化 AEAD 加密上下文,指定使用authencesn算法模板。整个过程无需 root 权限。

获取目标 setuid 程序句柄:打开系统中自带的 setuid root 程序(如/usr/bin/su),获取其只读文件句柄。

splice 零拷贝传递页缓存:调用splice()系统调用,将目标程序的文件页缓存零拷贝传入加密套接字中。

触发 in-place 解密篡改:构造特殊的加密输入,触发authencesn算法的解密操作,向只读页缓存写入攻击者可控的 4 字节数据。

注入恶意代码:通过多次构造输入,向/usr/bin/su的页缓存中注入恶意 shellcode,修改其执行逻辑,使其直接为执行用户赋予 root 权限。

获取 root shell:执行/usr/bin/su程序,系统会优先执行已被篡改的内存页缓存中的代码,无需任何密码验证,直接获得 root 权限。

4.1.2 Fragnesia 利用链

Fragnesia 的利用过程比 Copy Fail 稍复杂,但同样无需竞态条件,稳定性极高:

创建独立命名空间:调用unshare(CLONE_NEWUSER | CLONE_NEWNET)创建独立的用户和网络命名空间,在命名空间内部获取CAP_NET_ADMIN权限。

安装 XFRM 安全关联:在命名空间内部安装一条 transport-mode 的 ESP-in-TCP 安全关联,使用 AES-128-GCM 加密算法。

构建密钥流查找表:预先构建一张包含 256 项的查找表,建立 "目标密钥流字节→对应 IV nonce" 的映射。

1触发漏洞:创建 sender-receiver 进程对。Sender 端通过splice()将目标文件的内容传输到 TCP 发送缓冲区;Receiver 端在数据完全进入接收队列之前,延迟设置TCP_ULP espintcp。当 ULP 启用时,内核将文件页当作 ESP 密文解密,密钥流直接写入页缓存。

逐字节写入 Payload:针对 payload 中的每个字节,计算需要翻转的密钥流字节,在查找表中找到对应的 IV,重新触发漏洞,直到所有字节写入完成。

获取 root shell:执行/usr/bin/su,加载已被污染的页缓存中的程序,直接获得 root 权限。

4.2 典型攻击场景

4.2.1 本地权限提升

这是这类漏洞最基本的攻击场景。攻击者通过 Web 应用漏洞、弱密码等方式获取服务器上的普通用户权限后,运行仅 732 字节的 Python 脚本(Copy Fail PoC),即可一键获取 root 权限,进而完全控制服务器。

4.2.2 容器逃逸

这是这类漏洞最具威胁的攻击场景。由于页缓存在容器和宿主机之间全局共享,攻击者可以在低权限容器中,通过相同的利用链路篡改宿主机上的 setuid 程序页缓存。当宿主机上的 root 用户执行该程序时,就会触发恶意代码,实现从容器到宿主机的逃逸,直接接管整个 Kubernetes 节点。

更严重的是,即使容器配置了最严格的安全策略(allowPrivilegeEscalation: falseno_new_privs: true),也无法阻止这类漏洞的利用。

4.2.3 云原生集群攻击

在 Kubernetes 集群环境中,攻击者一旦控制了一个普通 Pod,就可以通过容器逃逸接管整个节点,然后利用节点的服务账户权限访问 Kubernetes API 服务器,进而窃取集群中的所有敏感信息、部署恶意 Pod 或横向移动到其他节点,最终导致整个集群被攻陷。

5 防御与缓解措施

针对这波内存页面覆写类漏洞,我们提出以下分层防御与缓解措施,涵盖永久修复、临时应急、善后清理与纵深防御多个层面。

5.1 永久修复方案:升级内核版本

内核升级是修复这类漏洞的根本方法。各主流 Linux 发行版已陆续发布包含漏洞修复的内核更新,建议所有用户尽快升级到安全版本并重启系统。

各发行版内核升级命令:

Debian/Ubuntu 系列

bash                  apt update && apt upgrade linux-image-generic -y                  reboot

RHEL/CentOS/Rocky Linux 系列

bash                  yum update -y                  reboot

Arch Linux 系列

bash                  pacman -Syu linux                  # LTS版本执行 pacman -Syu linux-lts                  reboot

Copy Fail 的官方修复补丁提交号为a664bf3d603d,核心是回退了 2017 年的 in-place 优化补丁。Fragnesia 和 Dirty Frag 的补丁已提交至 netdev 邮件列表,将在后续的内核稳定版本中发布。

5.2 临时应急缓解措施

对于无法立即重启升级内核的业务系统,可通过以下临时措施阻断漏洞利用:

5.2.1 禁用相关内核模块

这是最直接有效的临时缓解措施,通过 modprobe 将存在漏洞的内核模块加入黑名单:

针对 Copy Fail

bash                  echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf                  rmmod algif_aead 2>/dev/null || true

针对 Fragnesia 和 Dirty Frag

bash                  tee /etc/modprobe.d/dirtyfrag.conf <<'EOF'                  install esp4 /bin/false                  install esp6 /bin/false                  install rxrpc /bin/false                  EOF                  rmmod esp4 esp6 rxrpc 2>/dev/null || true

针对 PinTheft

bash                  echo "blacklist rds" | sudo tee /etc/modprobe.d/blacklist-rds.conf                  sudo modprobe -r rds

对于绝大多数用户和业务系统,禁用这些模块不会影响正常功能。

5.2.2 限制 unprivileged user namespace

Fragnesia 和 Copy Fail 的利用需要创建 unprivileged user namespace。可以通过 sysctl 参数限制:

bash                  sysctl -w kernel.unprivileged_userns_clone=0                  echo "kernel.unprivileged_userns_clone=0" >> /etc/sysctl.conf

5.3 善后清理措施

需要特别注意 "驻留污染" 问题:一旦漏洞利用脚本被执行,即使后续卸载了存在漏洞的内核模块,此前被污染的页缓存仍然驻留在内存中。为确保系统彻底洁净,除了全局重启外,还可以通过以下命令强制回收页缓存:

bash                  echo 3 > /proc/sys/vm/drop_caches

5.4 纵深防御措施

部署运行时完整性监控:使用 AIDE、OSQuery 等工具检测异常的内核模块加载和进程权限提升行为。

强制实施访问控制:确保 SELinux 或 AppArmor 政策设置为 enforcing 模式,增加额外的内核级保护。

限制本地用户访问:将 shell 访问权限限制于必要人员,定期审计现有账户。

6 漏洞对比与安全启示

6.1 与历史经典漏洞对比

新一代页缓存写破坏漏洞与历史上著名的 Dirty Cow、Dirty Pipe 漏洞相比,在多个维度的威胁性都实现了 "超越",具体对比如表 2 所示。

表 2 页缓存写破坏漏洞对比

特性

Dirty Cow (2016)

Dirty Pipe (2022)

Copy Fail (2026)

Fragnesia (2026)

利用难度

高(需竞态)

中(需精准操作)

极低(一键利用)

低(逐字节写入)

版本适配

需逐个版本调整

仅支持部分版本

全版本通杀

全版本通杀

隐蔽性

低(修改磁盘)

低(修改磁盘)

极高(仅内存)

极高(仅内存)

容器逃逸能力

原生支持

原生支持

利用成功率

不稳定

较稳定

接近 100%

接近 100%

6.2 安全启示

这波密集披露的漏洞给整个 Linux 生态带来了以下重要启示:

性能优化与安全的平衡是永恒的挑战:Copy Fail 和 Fragnesia 的根源都是为了提升性能的代码优化。内核开发中,任何涉及内存操作的优化都必须经过严格的安全审计。

组合漏洞是内核安全审计的最大盲区:单个无风险的特性与其他特性组合后可能形成致命漏洞。基于上下文的全链路安全分析和 AI 辅助审计将成为未来内核安全的重要方向。

内核修复可能引入新的漏洞:Fragnesia 是 Dirty Frag 补丁的副作用,这说明安全修复本身也需要充分的回归测试。

云原生安全面临新的挑战:这类漏洞原生支持容器逃逸,暴露了云原生环境中内核安全的薄弱环节。推广使用安全容器(如 Kata Containers)等技术将成为必然趋势。

7 结论

2026 年 4 月至 5 月 Linux 内核密集披露的内存页面覆写类漏洞,是近年来 Linux 生态面临的最严重安全威胁之一。这些漏洞利用门槛低、稳定性高、隐蔽性强且支持容器逃逸,对企业服务器、云平台和物联网设备都构成了巨大风险。

本文系统分析了四个高危漏洞的技术原理、利用链与攻击场景,提出了全面的防御措施。随着 Linux 内核功能的不断增加,新的安全漏洞还会不断出现。未来,我们需要加强内核安全设计,推广 AI 辅助安全审计技术,建立更加完善的漏洞响应机制,共同保障 Linux 生态的安全稳定。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 12:23:40 HTTP/2.0 GET : https://f.mffb.com.cn/a/495611.html
  2. 运行时间 : 0.300104s [ 吞吐率:3.33req/s ] 内存消耗:4,768.74kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=853a423a54ef3d5a81b915dda1dfd33e
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001144s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001715s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000757s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000681s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001386s ]
  6. SELECT * FROM `set` [ RunTime:0.000697s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001324s ]
  8. SELECT * FROM `article` WHERE `id` = 495611 LIMIT 1 [ RunTime:0.006176s ]
  9. UPDATE `article` SET `lasttime` = 1783052621 WHERE `id` = 495611 [ RunTime:0.033375s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.005871s ]
  11. SELECT * FROM `article` WHERE `id` < 495611 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001422s ]
  12. SELECT * FROM `article` WHERE `id` > 495611 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008273s ]
  13. SELECT * FROM `article` WHERE `id` < 495611 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009409s ]
  14. SELECT * FROM `article` WHERE `id` < 495611 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.034343s ]
  15. SELECT * FROM `article` WHERE `id` < 495611 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.069699s ]
0.301722s