应用程序不合规并已删除:安全漏洞:不安全的主机名验证

问题描述

我的应用已被删除显示以下消息

我们发现您的应用存在安全漏洞,可能会暴露用户信息或损坏用户设备。这违反了设备和网络滥用政策。具体来说,您的应用程序容易受到不安全主机名验证的攻击。要解决此问题,请按照这篇 Google 帮助中心文章中的步骤操作。

我正在使用 Google 的 Volley 库来建立连接。此消息指示我在 HostNameVerifier 中实施验证方法以遵守策略。但是,我没有使用 HostNameVerifier,也没有在源代码的任何地方找到它。

当进一步查询时,谷歌支持向我发送了以下内容

您的应用目前正在使用以下易受攻击的 HostnameVerifier 实现。 lg/a/a/a/a/l/e$a; lg/a/a/a/a/l/f$a;

我不明白它们指向的这些字符序列。

如果有人对解决此问题有任何帮助,我们将不胜感激。 谢谢

解决方法

我们的应用目前正在使用以下易受攻击的 HostnameVerifier 实现。 lg/a/a/a/a/l/e$a; lg/a/a/a/a/l/f$a;

我不明白它们指向的这些字符序列。

L 表示它是一个类类型,而 g/a/a/a/a/l/e$a 是一个混淆的类名,其中 $a 是一个内部类。查看您发布的 mapping.txt 输出中的 build 以解码回原始类名。

即使您的代码中没有 HostnameVerifier,您使用的库中也可能存在错误的 HostnameVerifier 实现。