在平时测试网交互的过程中,许多项目要求用户首先获取测试代币,以进行后续操作。然而,由于对测试代币的滥用现象日益严重,越来越多的项目采取了严格的措施,以防止机器人通过自动化方法获取测试代币。这些措施包括但不限于增加验证码、IP/设备频率限制等。虽然这些限制措施比较常见,但如果您有兴趣,我会在以后的文章中再单独描述如何绕过这些措施。 然而,我注意到 Sui 的测试网代币领取接口使用了一种比较新奇的几乎无感知的验证方式,可以很准确地区分正常用户和机器人,并拒绝机器人请求。本文将对这种验证方式的实现原理和可能的绕过方式进行简要分析。 经过多方搜索,发现 Sui 使用的是 cloudflare 的 WAF 防火墙,并且该识别技术在 2020 年就已经有实践,归根结底就是使用了 TLS 指纹技术(如 JA3 等)。那么什么是 TLS 指纹技术?TLS 指纹技术(如 JA3 等)是通过在TLS握手阶段识别ClientHello数据包生成一个唯一的指纹,从而识别客户端应用程序或代理工具。这种指纹可以被 WAF 等安全设备用于识别潜在的恶意流量或代理工具。 ClientHello 是 TLS 协议...