
黑客利用《文明7》Switch版漏洞实现XSS攻击工具链
来源标题:Nintendo Switch exploit using Civ 7
研究人员发布了一套针对Switch 1版《文明7》的XSS工具链,通过游戏聊天框注入JavaScript载荷实现破解。该工具链仅支持实体卡带1.0.0版本,已在Switch 1固件22.5.0和Switch 2固件20.4.0上使用Pico 2测试通过。用户需将系统语言设为英语(美国),并在游戏多人聊天界面插入Pico设备完成注入。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
适用于 Switch 1 版《文明 7》的 XSS 工具链。仅支持实体卡带版游戏的 1.0.0 版本。已在 Switch 1 固件 22.5.0、Switch 2 固件 20.4.0 和 23.0.1 上使用 pi pico 2(RP2350)测试通过。pi pico 1(RP2040)未测试。
PicoSwitch —— 干净、可编译的 Pico 固件(RP2040 + RP2350),可向 Switch 输入聊天 XSS payload(USB HID 宏)。默认 payload 为 Remote JS Loader 引导程序(exploit 核心 + TCP loader)。附带 compress.js(聊天传输:terser -> deflateRaw -> base-25 分块的 img/onerror 行,带审查规避)。
installer-creator —— 给定任意 JavaScript payload,生成开机持久化安装器(将 XSTRIG.Civ7Save 触发器写入存档数据),通过 Remote JS Loader 发送。
根目录的 core.js 是两个组件共同构建所用的共享 payload,根目录的 send_js.py 可将任意 payload 发送到运行中的 loader。
构建并刷入 loader UF2(见 PicoSwitch/README.md)。在 Switch 上,将系统语言改为 English(US)。然后启动游戏并依次进入主菜单 -> MULTIPLAYER -> WIRELESS -> CREATE GAME -> HOST LOBBY -> CHAT,然后插入 Pico(在底座模式下,先聚焦聊天框以接收 Pico 输入)。Pico 会输入聊天 XSS(约 87 行,约 15 分钟);Remote JS Loader 会在该会话中于主机上启动(TCP :9026)。
从 PC 安装持久化开机触发器:python installer-creator/install.py <console-ip> —— 上传存档模板,在主机上把压缩后的 payload 拼接进去,清空 save:/saves/Single/,并写入触发器。此后,每次开机:主菜单 -> Load Game -> payload 从存档数据运行(如果 payload 是 loader,则开机时 :9026 即已就绪 —— 并且能在主机休眠/唤醒后继续存活)。安装器完成后可以恢复系统语言。
python send_js.py <console-ip> [port] file.js 将 JS 文件原样发送到 Remote JS Loader(默认端口 9026),然后打印主机回传的日志输出(读取直至关闭或超时)。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。