js逆向知识-Ja3指纹学习

一、ja3指纹介绍
  • 1、指纹:通过一些算法将一些特征加密得到的值,这些值往往能够区分你是谁。每个客户端会生成特定的ja3指纹,并不会随ip和useragent改变,通过ja3指纹可以定位识别到某个客户端(不限于浏览器、python等)

  • 2、chrome浏览器查看ja3指纹:https://ja3er.com/json,或者https://ja3er.com/
    在这里插入图片描述

  • 3、python的requests包查看ja3指纹

    import requests
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36",}
    res = requests.get("https://ja3er.com/json", headers=headers, timeout=10)
    print(res.json())
    # {'ja3_hash': '77b2140d11c959ef7cc4e15405e0860b', 'ja3': '771,157-156-49196-49200-49327-49325-49188-49192-49162-49172-163-159-52394-49315-49311-162-158-49314-49310-107-106-196-195-103-64-190-189-57-56-136-135-51-50-69-68-49195-49199-49326-49324-49187-49191-49161-49171-49313-49309-49312-49308-61-60-53-47-192-186-132-65-52393-52392-49267-49271-49266-49270-255,0-11-10-35-22-23-13-21,29-23-25-24,0-1-2', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67'}
    
  • 4、抓包工具Wireshark查看ja3指纹:在其展示的Client Hello数据包示例。首先得下载最新版Wireshark,不然可能看不到ja3指纹。如图看到两个ja3指纹,第一个是ja3相关的5个特征指纹,第二个则是将第一个进行了MD5哈希值计算生成的,通过hash值可以确定ja3指纹是否一样
    在这里插入图片描述

  • 5、ja3指纹计算规则由5个字段组成:更多详细参考文章1参考文章2参考文章3,Wireshark上的十六进制数(如0x0303)即如下图片展示的数字。Cipher Suites扩展CIPHER SUITE NAMES查询映射关系
    在这里插入图片描述
    在这里插入图片描述

二、ja3指纹解决方案
  • 据前辈们踩坑:python有缺陷暂无法绕过校验严格的ja3指纹检测
  • 但是go和js可以设置ja3指纹正常请求,具体的待继续研究
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值