截图
介绍
ExploitPreventer
这是一款 Fabric 模组,可防止已知的客户端漏洞利用。
免责声明:使用本模组的风险由你自行承担。维护者不对任何封禁或其他后果负责。
如果你想了解使用这些漏洞的服务器或插件,请查看耻辱榜。
谨防虚假下载
请只从 Modrinth 官方页面下载 ExploitPreventer:https://modrinth.com/mod/exploitpreventer
此模组的虚假或非官方版本可能含有恶意代码。
漏洞利用
此模组目前可防护以下漏洞利用:
告示牌翻译漏洞(及其他组件机制)
链接:https://wurst.wiki/sign_translation_vulnerability
服务器可以诱使客户端解析翻译键,并将解析后的文本发送回服务器。服务器借此可以获取客户端安装了哪些模组(通过检查模组专属的翻译键或按键绑定),以及玩家使用的语言等信息。
我们的修复方案:阻止客户端在告示牌和铁砧编辑界面解析翻译键和按键绑定。
通过资源包发起本地 HTTP 请求
链接:https://alaggydev.github.io/posts/cytooxien/
服务器可以通过发送特制的资源包 URL,强制客户端向任意 IP 地址发起 HTTP 请求,包括本地服务(例如 http://localhost:8080)。服务器还能获知请求是否成功,或响应的 SHA1 哈希是否与特定值匹配。服务器可利用这一点检测客户端设备上正在运行哪些本地服务(例如路由器、电视,以及以前的 LiquidBounce)。
我们的修复方案:屏蔽指向本地 IP 地址的资源包 URL。理想情况下,我们希望像浏览器一样,屏蔽所有未包含有效 CORS 标头的 HTTP 响应,但这会破坏向后兼容性。
通过资源包进行设备指纹识别
链接:https://alaggydev.github.io/posts/cytooxien/
服务器可以滥用客户端的资源包缓存,唯一地识别客户端。这样一来,即使玩家更改用户名或 IP 地址,服务器也能跨多个会话追踪用户。
我们的修复方案:为每个账户设置独立的资源包缓存目录。这样,服务器就无法关联不同账户的资源包。
通过插件通道检测模组
一些模组会注册插件通道,以便与服务器通信。服务器可以利用这些通道检测客户端是否安装了某些模组。
这是有意为之的行为,也是许多模组正常运行所必需的(例如实现模组专属功能、网络通信或与服务端插件兼容)。
由于这些信息由模组自身主动公开,本模组不会尝试屏蔽或隐藏插件通道的注册或使用。这样做会破坏模组的正常功能,且超出本项目的范围。
其他模组
还有其他模组也试图实现类似功能。我们不推荐这些模组,因为它们要么正等待我发布补丁,以便将补丁整合进自己的模组;要么完全由 AI 制作;要么只是我这个模组的廉价复制品。
收到死亡威胁
由于本项目旨在揭露某些服务器使用的漏洞并提供防护,我收到了认为这项工作威胁到自身利益者发来的死亡威胁。这些威胁十分严重,我也绝不会置之不理。
不过,他们吓不倒我。即便如此,收到死亡威胁反而更说明本项目切中了要害。发出威胁的人显然有意让这些漏洞继续存在,让玩家得不到保护。我会继续维护和改进这个模组,揭露新发现的漏洞,并更加坚定地为玩家的隐私和安全而努力。恐吓在这里行不通。
如果你知道是谁发出了此类威胁,请向相关部门举报。
漏洞报告
如果你发现了绕过手段或其他客户端漏洞,请通过 Discord 联系 nikoverflow,或发送电子邮件至 [email protected]。请简要说明问题,提供清晰的逐步复现说明、所用的 Minecraft 版本,以及任何相关日志或截图。
常见问题
ExploitPreventer 支持哪些 Minecraft 版本?
ExploitPreventer 支持 Minecraft Java 版 1.21.9–26.3,共 8 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
ExploitPreventer 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
评论
登录后评论和评分