TLS&&补环境理解

tls指纹(ja3)

传输层安全协议

ip.addr == 23.37.116.221 and tls(这样拿不到,不会过滤(可能不止一个ip,负载均衡))

ip.addr in {202.96.134.133, 104.123.206.140, 23.44.54.118} and tls(这个也没成功)

Client Hello

ja3 fullstring
771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47-255,0-11-10-35-22-23-13-43-45-51,29-23-30-25-24,0-1-2

771: tls版本号(0x0303是771的十六进制)

4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47-255:加密套件,用于协商在通信中使用的加密算法和参数

0-11-10-35-22-23-13-43-45-51:扩展信息,用于提供额外的功能或参数

29-23-30-25-24:椭圆曲线算法的标识符列表,用于在密钥交换中选择椭圆曲线算法

0-1-2:压缩算法的标识符列表,用于协商在通信中使用的压缩算法

ja3
40adfd923eb82b89d8836ba37a19bca1

Server Hello

ja3 fullstring
771,4866,43-51

771: tls版本号(0x0303是771的十六进制)

4866:服务端选中的加密套件(0x1302是4866的十六进制)

43-51:压缩算法

ja3
15af977ce25de452b96affa2addb1036

补环境

对于一线的风控产品而言,需要获取大量指纹的情况,补环境和扣代码其实是一样的,补环境同样需要逐个的去分析指纹如何生成,把指纹扣下来

对于固定指纹就可以并发的情况,补环境确实是要比扣代码方便,当然这也不是绝对的,有些扣代码会快很多,比如reese84,但是如果想要通杀,或者方便迭代,还是补环境会更好

对于vmp类型的,补环境要比扣代码方便

个人理解,扣代码和补环境差不多,想怎么用什么就用什么

补环境其实就是补浏览器的内置API

MDN Web Docs: https://developer.mozilla.org/zh-CN/

补环境比较重要的知识点(核心还是要学会自己看文档,遇到什么补什么)

toString保护

proxy代理器

hook框架

脱环境

HTML解析成DOM树

浏览器事件

iframe全新上下文

等等

需要注意的是,补环境时,同样需要慢慢来,因为有很多细节是没法吐出来的,同时需要注意try catch