React2Shell漏洞深度解析:从服务端代码注入到服务器端命令执行实战排查
1. 项目概述React2Shell漏洞的来龙去脉最近在安全圈里一个名为“React2Shell”的漏洞CVE-2025-55182引起了不小的波澜。如果你负责维护基于React框架的前端应用或者你是一名需要保障服务器安全的运维、开发或安全工程师那么这个漏洞的排查与处置就是你近期必须掌握的一项关键技能。简单来说React2Shell不是一个单一的漏洞它更像是一个攻击链的统称核心是利用React应用中的特定缺陷最终实现在服务器上执行任意命令即获取Shell。这听起来就足够危险了因为它意味着攻击者可能从你一个看似无害的前端页面一路打到你的后端服务器拿到最高控制权。这个漏洞之所以备受关注是因为它击中了现代Web开发的一个普遍痛点前后端分离架构下的安全盲区。我们常常花费大量精力在API接口鉴权、数据库注入防护上却容易忽略前端源码、构建配置乃至依赖包中潜藏的风险。React2Shell正是利用了这些环节的疏忽。攻击者可能通过上传恶意构建文件、篡改依赖源或者在特定配置下触发服务端渲染SSR或静态生成SSG过程中的代码执行从而将攻击载荷“植入”到你的应用中。当应用运行时这些恶意代码就能在服务器环境下执行系统命令造成数据泄露、服务中断甚至更严重的横向渗透。因此这份指南的目的非常明确为你提供一套从预警到确认、从排查到修复的完整操作流程。我不会只告诉你“有漏洞快升级”这种正确的废话而是会带你一步步拆解攻击可能发生的路径手把手教你如何在你的服务器和代码仓库里寻找蛛丝马迹并提供经过验证的处置方案。无论你用的是自建物理机、云服务器如阿里云、腾讯云ECS还是容器化部署其中的核心排查思路都是相通的。2. 漏洞原理深度解析与攻击路径还原要有效排查首先得明白攻击者是怎么得手的。React2ShellCVE-2025-55182的本质是一个服务端代码注入漏洞。它通常不是React库本身的直接漏洞而是错误配置或漏洞组合导致的严重后果。我们可以将其攻击路径抽象为以下几个关键环节理解它们有助于我们在排查时有的放矢。2.1 核心攻击链拆解典型的React2Shell攻击链可能遵循以下步骤入口点利用攻击者首先需要找到一个向服务器注入代码的入口。这可能是文件上传漏洞如果应用存在未严格校验的上传功能攻击者可能上传一个伪装成图片或文档但内含恶意JavaScript或Node.js脚本的文件。依赖供应链攻击攻击者污染了项目所使用的某个npm依赖包特别是那些不常用或维护不善的包该包在安装或构建时执行恶意脚本。服务端渲染SSR参数注入在Next.js、Nuxt.js等支持SSR的框架中如果对用户输入如URL参数、Cookie、请求头处理不当攻击者可能将可执行代码注入到服务端渲染流程中。构建环境渗透攻击者获得了持续集成/持续部署CI/CD系统的访问权限篡改了构建脚本如package.json中的preinstall、postbuild脚本或环境变量。载荷植入与执行恶意代码被成功植入到应用代码或构建产物中。例如一个被篡改的组件库可能在useEffect或服务端生命周期函数中包含了一段调用child_process.exec()的代码。在SSR过程中这段代码会在服务器端执行。命令执行与交互注入的代码成功在服务器Node.js环境中运行执行系统命令如whoami、cat /etc/passwd、反向Shell命令等从而控制服务器。注意这与传统的XSS跨站脚本漏洞有本质区别。XSS的代码在用户浏览器中执行影响的是用户。而React2Shell的代码在你的服务器上执行直接影响服务器安全和所有用户数据。2.2 关键配置与脆弱模式以下几种常见的开发或部署模式会显著增加暴露于此类漏洞的风险过高的文件系统权限Node.js进程以root权限运行一旦被注入代码攻击者就拥有了完整的系统控制权。危险的模块引入在服务端代码中直接、不加限制地使用eval()、Function构造函数或动态require()用户可控的路径。宽松的构建配置Webpack等构建工具配置了过于宽松的__dirname、__filename或允许访问敏感系统模块。环境变量泄露在客户端打包的代码中意外嵌入了服务器端的敏感环境变量如数据库连接字符串、API密钥这虽然不直接导致执行但为攻击者提供了下一步攻击的弹药。理解这些原理后我们的排查工作就有了明确的目标检查所有可能的入口点审查服务端执行代码的完整性并验证运行环境的安全性。3. 服务器端排查实战从日志到进程当怀疑或确认服务器可能已遭受React2Shell漏洞攻击时应立即启动排查。以下操作基于Linux服务器但思路适用于所有环境。请务必在非业务高峰期或测试环境先行操作。3.1 第一步紧急遏制与现场保护在开始深入调查之前首先要防止损失扩大。网络隔离如果可能立即将受影响服务器从生产网络中断开或修改安全组/防火墙规则只允许管理员IP访问。这可以阻止攻击者持续控制或向外传输数据。备份现场在做出任何更改前创建系统快照云服务器功能或对关键目录进行只读备份。这是最重要的步骤之一它为后续取证和分析保留了原始证据。# 创建关键目录的压缩备份注意使用只读方式或从快照操作 tar -czvf /tmp/forensic_backup_$(date %Y%m%d_%H%M%S).tar.gz \ /var/log/ \ /home/[your-app-user]/.npm/_logs/ \ /opt/[your-app]/ \ /tmp/ 2/dev/null # 将备份文件转移到安全位置停止应用服务停止你的Node.js应用进程如PM2、systemd服务。但不要立即重启服务器以免丢失内存中的进程信息。3.2 第二步系统级异常痕迹排查攻击者在服务器上执行命令必然会在系统中留下痕迹。我们从这些地方入手。3.2.1 审查系统日志日志是调查的第一线。重点查看以下日志文件/var/log/auth.log或/var/log/secure记录所有认证相关事件寻找异常登录特别是非管理员IP的SSH登录成功记录。/var/log/syslog或/var/log/messages通用系统日志可能包含进程启动、崩溃信息。Node.js应用日志你的应用日志位置如pm2 logs输出的日志、/var/log/[app-name]/下的日志。寻找异常的错误堆栈、奇怪的console.log输出攻击者可能用来调试其载荷或包含child_process、exec、spawn、bash、curl、wget等关键词的日志行。使用grep和journalctl进行高效搜索# 搜索过去24小时内包含‘exec’或‘spawn’的日志 journalctl --since “24 hours ago” | grep -i -E “exec|spawn|child_process|bash.*-c” # 在应用日志中搜索可疑的URL或参数 grep -r “\\.\\./” /var/log/[your-app]/ # 寻找路径遍历痕迹 grep -r “\$(” /var/log/[your-app]/ # 寻找命令替换痕迹3.2.2 检查异常进程与网络连接攻击者可能会运行持久化的后门进程或建立对外连接。查看进程树使用pstree或ps auxf查看是否有未知的、奇怪的进程嵌套在你的Node.js进程下或者有大量消耗CPU/内存的陌生进程。检查网络连接使用netstat -tunap或ss -tunap查看所有TCP/UDP连接。特别关注你的Node.js应用是否建立了到外部可疑IP尤其是非常用端口的出向连接或者监听了你未配置的端口。# 查看所有ESTABLISHED状态的连接并与已知服务对比 netstat -tunap | grep ESTABLISHED # 查看Node进程的所有连接 lsof -i -P -n -p $(pgrep -f “node.*your-app”)检查定时任务攻击者常通过cron或systemd timer实现持久化。crontab -l -u [your-app-user] # 查看相应用户的cron crontab -l -u root ls -la /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ # 检查系统级cron目录 systemctl list-timers --all # 检查systemd定时器3.2.3 文件系统时间线分析与查找Webshell攻击者可能上传了Webshell文件。查找近期被修改的可执行文件# 在Web根目录和常用临时目录查找最近一天内修改的.js、.jsp、.php等文件 find /opt/[your-app] /tmp /var/tmp -type f \( -name “*.js” -o -name “*.jsp” -o -name “*.php” -o -name “*.py” \) -mtime -1 -ls 2/dev/null查找隐藏文件或异常权限文件# 查找所有设置了SUID位的文件普通用户以文件所有者权限运行 find / -type f -perm -4000 -ls 2/dev/null # 在应用目录查找任何人可写的文件极度危险 find /opt/[your-app] -type f -perm -ow -ls 2/dev/null检查npm全局安装包攻击者可能通过npm安装了恶意工具。npm list -g --depth0 ls -la ~/.npm/_logs/ # 查看npm安装日志看有无异常包安装记录3.3 第三步应用代码与依赖深度审计如果系统层面未发现明显入侵痕迹或者需要根除漏洞必须深入应用内部。3.3.1 锁定构建产物与源码对比构建哈希如果你有安全的、版本控制中的前一次构建产物如Docker镜像层哈希与当前运行产物进行对比。可以使用diff工具对比目录或计算关键文件的SHA256哈希值。审查服务端入口文件重点检查你的服务端入口如Next.js的server.js、自定义Node.js服务器的app.js或index.js。寻找任何可疑的require、import语句尤其是动态导入来自非node_modules目录的模块。搜索危险函数调用在整个项目源码中包括node_modules中你直接依赖的包搜索危险模式。# 在项目根目录运行 grep -r “eval(” --include“*.js” --include“*.ts” . grep -r “new Function” --include“*.js” --include“*.ts” . grep -r “child_process\.exec\|child_process\.spawn\|child_process\.fork” --include“*.js” --include“*.ts” . grep -r “fs\.writeFile\|fs\.appendFile” --include“*.js” --include“*.ts” . | grep -v “test” # 注意对写文件操作的审查实操心得不要盲目信任grep结果。很多库合法地使用了这些函数。关键是看调用这些函数的参数是否用户可控。例如exec(‘ls ‘ userInput)是极度危险的而exec(‘npm run build’)在构建脚本中可能是正常的。3.3.2 依赖安全扫描与package-lock.json审计供应链攻击是主要入口。使用专业工具扫描npm audit运行npm audit --production检查已知漏洞。但CVE-2025-55182可能尚未被完全收录。第三方SCA工具使用像snyk、trivy或oss-index这样的软件成分分析工具进行更深度扫描。它们能识别存在恶意代码或漏洞的依赖包。# 使用trivy扫描当前目录需先安装trivy trivy fs --severity HIGH,CRITICAL .审查package-lock.json仔细检查锁文件中所有依赖的resolved字段。确保它们都指向官方npm仓库https://registry.npmjs.org/或你信任的私有源。攻击者可能通过劫持或污染依赖源来注入恶意包。检查package.json中的脚本查看scripts部分特别是preinstall、postinstall、prebuild、postbuild。这些脚本在安装或构建时自动执行是攻击的绝佳目标。确保其中没有来源不明或执行奇怪命令的脚本。4. 漏洞修复与加固策略完成排查并清除潜在威胁后必须进行修复和加固防止再次被利用。4.1 立即修复措施更新与修补立即关注React、Next.js及相关服务端框架如Express、Koa的安全公告应用所有安全更新。即使CVE-2025-55182的官方补丁未出也应更新到所有依赖的最新稳定版以修复其他可能被组合利用的漏洞。清理与重建彻底删除node_modules和构建产物如.next、dist、build目录。基于可信源重新安装依赖确保网络环境安全使用npm ci --productionci命令基于package-lock.json安装更可靠重新安装依赖。使用全新的构建环境在干净的CI/CD Runner或Docker容器中执行构建避免构建环境被污染。移除危险代码如果排查中发现任何用户输入直接传递给eval、Function或child_process相关函数的情况必须立即重构代码。改用安全的替代方案如使用沙箱、严格的输入验证和白名单机制。4.2 长期安全加固配置修复漏洞是治标加固环境是治本。4.2.1 最小权限原则运行用户绝对不要以root用户运行Node.js应用。创建一个专用的、无登录权限的系统用户如nodeapp来运行你的应用。sudo useradd -r -s /bin/false nodeapp sudo chown -R nodeapp:nodeapp /opt/your-app # 在PM2或systemd配置中指定用户文件系统权限遵循最小权限原则应用目录的写权限应仅限于必要的子目录如上传文件临时目录、日志目录。容器化部署使用Docker等容器技术在容器内以非root用户运行并利用容器的命名空间隔离特性。4.2.2 安全启动与配置使用进程管理器使用PM2、systemd管理进程它们可以提供日志、监控和自动重启并方便设置环境变量和用户。安全的环境变量管理敏感信息数据库密码、API密钥必须通过环境变量传入绝不能硬编码在客户端代码或提交到代码仓库。使用dotenv读取本地开发在生产环境使用云服务商或专门的密钥管理服务如HashiCorp Vault、AWS Secrets Manager。强化package.json脚本避免在package.json脚本中执行复杂的逻辑。将构建和部署脚本移到独立的、受版本控制的Shell脚本或CI/CD配置文件中。4.2.3 依赖管理最佳实践锁定依赖版本始终使用package-lock.json或yarn.lock并提交到版本库。定期更新与审计将npm audit或第三方安全扫描集成到CI/CD流水线中设置门禁阻止存在高危漏洞的构建进入生产环境。精简依赖定期使用npm depcheck等工具清理未使用的依赖。依赖越少攻击面越小。使用可信依赖优先选择下载量大、维护活跃、来自知名组织或开发者的包。对于小众包花时间审查其源码和提交历史。4.2.4 针对服务端渲染SSR的特别防护如果你的React应用使用SSR严格净化用户输入对所有传入SSR函数的数据getServerSideProps的参数、请求头、Cookie进行严格的验证和净化确保其不包含可执行的JavaScript代码。禁用危险的Node.js全局对象在服务端代码中考虑通过沙箱或修改全局对象的方式禁用或限制eval、Function、require等危险函数。隔离SSR环境将SSR服务部署在独立的、网络受限的容器或进程中与核心数据层隔离。5. 监控、响应与未来防范漏洞处置不是一次性任务而是一个持续的过程。5.1 建立持续监控应用行为监控监控Node.js进程的异常行为如异常高的CPU或内存使用率可能是在挖矿或进行加密操作。产生异常的子进程。访问非常规的系统文件或目录。日志集中分析与告警将所有服务器和应用日志收集到集中式日志平台如ELK Stack、Loki。设置告警规则例如当日志中出现child_process.exec调用栈、或大量非200/300的HTTP状态码时触发告警。文件完整性监控FIM对关键的系统文件和应用程序文件如node_modules中的核心依赖、package-lock.json、服务端入口文件实施监控当它们被未经授权修改时发出警报。工具如AIDE、Osquery或云厂商的FIM服务可以实现此功能。网络流量监控监控服务器出向流量特别是连接到非常见IP或知名恶意IP地址的请求。5.2 制定事件响应计划提前准备好事件响应IR计划确保在发生安全事件时能快速、有序地行动。计划应包括准备阶段明确响应团队成员、联系方式、工具准备取证工具、备份恢复流程。检测与分析如何发现和确认事件即本指南的排查部分。遏制、根除与恢复如何隔离受影响系统、清除威胁、从干净备份恢复服务。事后总结必须进行复盘分析根本原因改进安全措施更新响应计划。5.3 将安全融入开发流程DevSecOps左移安全在代码编写、提交和合并阶段引入安全检查。使用Git Hooks或CI流水线运行静态代码安全扫描SAST工具如SonarQube、CodeQL检查是否存在危险函数调用和潜在漏洞。依赖扫描自动化在CI/CD中集成软件成分分析SCA工具每次构建都自动扫描依赖漏洞阻断有高危漏洞的构建。定期渗透测试与漏洞评估定期邀请专业安全团队或使用自动化工具对应用进行黑盒/白盒测试主动发现类似React2Shell的复杂漏洞链。安全培训提升整个研发团队的安全意识让开发者了解常见漏洞原理和安全编码规范从源头减少漏洞引入。排查和修复React2Shell这类漏洞考验的不仅是技术更是耐心和系统性。它没有一键修复的魔法需要你像侦探一样从系统、网络、应用、依赖等多个层面收集线索串联成完整的攻击故事。最深刻的体会是安全是一个“木桶”最短的那块板决定了你的水位。一次疏忽的依赖引入、一个过度宽松的文件权限、一段未经验证的用户输入都可能成为整个系统沦陷的起点。因此建立纵深防御体系将安全实践固化到研发运维的每一个环节才是应对未来未知漏洞的根本之道。每次安全事件都是一次昂贵的教训但也是加固系统的最佳时机。

相关新闻

头疗产品商城模式系统开发

头疗产品商城模式系统开发

头疗产品商城模式系统开发编辑:araolin(土土哥)市场需求分析当前头疗产品市场增长迅速,消费者对头皮护理、防脱发等需求显著提升。数据显示,全球护发市场规模预计2025年突破千亿美元,线上商城模式能够有效覆…

2026/7/2 22:07:46阅读更多 →
基于arduino单片机万年历的电子万年历数字时钟电子日历闹钟温度3(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于arduino单片机万年历的电子万年历数字时钟电子日历闹钟温度3(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于arduino单片机万年历的电子万年历数字时钟电子日历闹钟温度3(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 功能说明 :通过Arduino单片机进行数据处理LCD1602液晶显示年、月、日、星期、时、分、秒、温度参数…

2026/7/2 22:07:46阅读更多 →
【计算机Java毕业设计案例】基于 SpringBoot 的中药仓库物资流转管理系统的设计与实现 基于 SpringBoot 的中药材过期预警与库存维护系统(程序+文档+讲解+定制)

【计算机Java毕业设计案例】基于 SpringBoot 的中药仓库物资流转管理系统的设计与实现 基于 SpringBoot 的中药材过期预警与库存维护系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/2 22:02:45阅读更多 →
AI Agent开发全栈指南:从理论到工程实践

AI Agent开发全栈指南:从理论到工程实践

1. 项目概述:AI Agent技术全景与学习价值最近半年,AI Agent技术正在以惊人的速度重塑各行各业的工作流程。不同于传统AI模型的单一任务处理能力,具备自主感知、决策和执行能力的智能体正在成为下一代人机交互的核心载体。根据我的项目实践经验…

2026/7/2 23:38:38阅读更多 →
漏洞利用神器mona.py:Immunity Debugger插件核心功能实战指南

漏洞利用神器mona.py:Immunity Debugger插件核心功能实战指南

1. 项目概述:为什么mona.py是漏洞利用领域的“瑞士军刀”如果你在Windows平台下搞过漏洞分析与利用,尤其是和Immunity Debugger打过交道,那你一定绕不开mona.py这个名字。它不是一个独立的软件,而是一个功能极其强大的Python脚本&…

2026/7/2 23:38:38阅读更多 →
AI Agent评估体系构建与实践指南

AI Agent评估体系构建与实践指南

1. AI Agent评估体系构建指南作为一名长期从事AI Agent开发的工程师,我深知评估环节的重要性。调试Agent就像在黑暗中摸索前进,如果没有系统化的评估方法,我们很难判断每一次修改是进步还是退步。本文将分享一套经过实战检验的AI Agent评估方…

2026/7/2 23:38:38阅读更多 →
【操作系统】存储管理概述(分区/分页/分段)

【操作系统】存储管理概述(分区/分页/分段)

考点频率:★★★★☆(选择题常考,是理解后续页式/段式存储的基础) 难度:⭐⭐⭐ 建议:重点掌握三种管理方式的核心思想、地址转换方式以及碎片的区别1️⃣ 为什么需要存储管理? 在多道程序设计环…

2026/7/2 23:38:37阅读更多 →
【计算机Java毕业设计案例】基于 SpringBoot 的在线教育资源检索与学习系统的设计与实现 面向自学用户的免费课程资源教育平台(程序+文档+讲解+定制)

【计算机Java毕业设计案例】基于 SpringBoot 的在线教育资源检索与学习系统的设计与实现 面向自学用户的免费课程资源教育平台(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/2 23:38:37阅读更多 →
鸿蒙NEXT应用开发:基于证书的RSA公钥加密实战指南

鸿蒙NEXT应用开发:基于证书的RSA公钥加密实战指南

1. 项目概述:从证书到加密的鸿蒙实战最近在搞鸿蒙NEXT应用开发,遇到一个挺实际的需求:服务端下发了一个证书文件,客户端需要用它来加密一些敏感数据,比如登录令牌或者支付信息,再传给服务端。这个场景在金融…

2026/7/2 23:33:36阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/2 12:10:34阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/2 12:10:34阅读更多 →
塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想在《塞尔达传说:旷野之息…

2026/7/2 0:03:01阅读更多 →
告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

在本地开发环境使用云厂商 CLI 时,传统的 AccessKey(AK)方式需要手动创建、下载和保管密钥,不仅繁琐,还存在泄漏风险。其实,主流云平台都已提供基于 OAuth 2.0 的免密认证方案,让开发者可以通过浏览器登录一次性完成授权,CLI 自动管理临时凭证的刷新,兼顾了便利与安全…

2026/7/2 0:03:01阅读更多 →
基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

1. 项目背景与核心价值在嵌入式系统开发领域,高精度定位与导航一直是极具挑战性的技术方向。传统方案往往面临成本、精度和实时性难以兼顾的困境。这个项目通过13DOF(13自由度)传感器组合与PIC32MZ2048EFH100高性能MCU的协同工作,…

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

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

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

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

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

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

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

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

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

2026/7/2 1:50:13阅读更多 →