tls/ja3指纹补充说明

反爬虫SSL TLS指纹识别和绕过JA3算法.md 0x00 前言 ​ 有时候会发现一种情况,用正常浏览器可以访问,但是用脚本或者挂一下代理访问https的网站就直接405禁止访问了。 ​ 这种情况就有可能是 识别了你的TLS指纹,这种情况换随机UA都是没什么用的。 ​ 查阅资料之后,发现应该是waf识别你的TLS指纹,标记为恶意直接禁止了,其中识别的算法主要是利用JA3和JA3S实现TLS指纹识别功能,所以学习了一下。 0x01 实际测试一下 测试代码 第一步,我们就看看我们的特征是什么,测试一下到底改hearder方法行不行。代码是测试代码,主要就是重 阅读详情

声明

以下只是搬运下我公众号的东西。很早就发过了。原帖地址:

ja3指纹补充说明 (qq.com)

已经发公众号的为什么还发csdn

有的圈内朋友,不经过我的允许,删减摘录我公众号的内容,这里就不提谁了,心里清楚,还能获得一些关注和流量。很无语,所以我还不如自己也发发。【猛男落泪】

前言

之前那篇深度剖析ja3指纹因为一些不可抗力原因删除,删除之后发现适得其反,所以也别找我要了(哭了,卧槽...)

也有很多朋友遇到ja3相关的问题都开始在探讨以及直接群里圈我探讨。用微信好友Pluto的话,“你是万恶之源”,谁也妹想到,就因为一篇文章推动内卷了......下次我发文章都得仔细斟酌了,就怕又推动内卷了

而且在这个时间里,我开始看到有很多ja3相关的文章,在之前,我查阅大量资料的时候可是少之又少的,这点我至少觉得是一个好的影响,而不好的就是我居然看到有人抄袭我的文章放到知乎(是谁我就不说了),这个人就把案例改下,思路一模一样,而他的主页展示发现还在卖课....

还有的把我的文章机翻成英文挂到外网去的.....

那如果时间久了他们怕是得说这些都是他自己研究出来的了?不是不让你抄,你抄完好歹加个原文地址吧......

这些我就真的没法忍了,技术不是抄来的,不是你的始终不是你的,即使你学会了抄到了,以后遇到稍微改动过的你一样不会。(不针对所有人,只针对我说的那少部分人)

所以以上种种,觉得有必要再继续聊下ja3指纹

回顾tls指纹五个特征数组

再简单聊聊,不然怕有些朋友已经忘了

TLSVersion,Ciphers,Extensions,EllipticCurves,EllipticCurvePointFormats

例:

771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-21,29-23-24,0

其实之前也说过这五个数组,TLSVersion  就是tls版本,目前比较新的就是771版本了,后面四个这里补充说明下

第二个Ciphers就是加密套件,之前也给过openss官方的链接:

https://www.openssl.org/docs/man1.1.1/man1/ciphers.html

第三个Extensions是扩展列表,相关链接:

https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml

第四个数EllipticCurves椭圆算法,后改成了supported_groups,但实际是同一个,相关链接:

https://blogs.sap.com/2020/11/08/troubleshoot-tls-1.2-with-elliptic-curve-cryptography/

第五个数EllipticCurvePointFormats椭圆标准,用这个特征就可以很肉眼可见的区分浏览器还是python爬虫

tls指纹与市面上的各种混淆有什么不同点

相信你可以看到,现在国内国外的各种混淆加密,什么jsvmp啊,风控检测啊,滑块验证啊,某数,某美啥的加密啊,jsl,5秒盾,shape盾啥的,各种反爬手段层出不穷,即时对目前的你来说可能搞不定,但是至少都是有迹可循的。

而tls指纹,就是种很另类的东西,如猿人学外部题第19,没有任何数据加密,也没有加密的请求参数,cookie也是没有奇奇怪怪的字段,接口直接能用,浏览器直接访问,哎~,当你用代码请求它就是不行,因为它验证的是ssl层的指纹,在三次握手之后就可以判断你是不是正常浏览器了,这种就很骚啊

怎么判断是tls指纹

在你排除了http2.0协议,排除了验证请求头的情况,即使你已经确保代码设置得跟浏览器请求模拟得完全一致了,还是没法正常拿到数据,返回403或者权限不足的提示,此时浏览器就是可以访问的情况,那这种多半就是tls指纹了。

当然也不绝对,因为也有可能就是个很小的细节,只是你没注意到而已。多验证再说,别一看到你搞不定的就都说是ja3指纹,多检测你自己的代码逻辑

tls指纹发展趋势

目前的话,tls指纹里最成熟的还是ja3指纹了,以后应该会有其他的验证,目前这种指纹验证也分了cdn式和非cdn式,而像某迈就是cdn式的,猿人学外部第19题就是非cdn式的,即不用cdn在服务层一样可以判断。什么是cdn这里就不解释了。

我大概率猜测后续会有很多类似的出来,因为某为的waf就是带有这个指纹认证的。

tls最新指纹验证方案

据微信好友@未来说的,ssl3.0有史诗级bug,会导致心跳出血和farker,其中心跳出血就可以安全实现自定义加密套件,不然的话说不定现在都没有tls这个概念了。所以目前来看,最新的还是tls1.3,相关的指纹验证还是ja3指纹

目前的ja3指纹突破方法总结

python半突破

之前我查到的是已知的只能改ciphers加密套件,然后根据微信好友渔滒的发现,用pyqt可以改第三个扩展列表和第四个椭圆算法,最后一个椭圆标准还是没法改,相关链接:https://doc.qt.io/qt-5/qsslconfiguration.html

go库另类突破

  • ja3transporgt

  • cycletls

为什么不叫完美突破了,因为之前跟一个大佬聊过之后他说我这个其实不叫完美突破,所以我把名改了,并且即使以后我有完美突破方案我也不会发了(还是文章开头说的原因,不想加速内卷,不想被人抄袭,也不得不保留点了)

node

也就是上面的go库的node版

浏览器/rpc

不要纠结于手段,你只要能拿到数据,管他那么多呢

tls指纹有办法完全自定义吗?

目前我有空就在研究,没有结果之前,不好意思暂不便多说

猿人学内部29题怎么个情况

有很多朋友在问我29题怎么搞.....

说来惭愧,卞大之前来成都面基,他当着我面跟我说过,他就是看了我的文章对这个tls指纹重新燃起了希望,然后出现了29题,这个题就是针对上面的go库cycletls设计的。

相信有些朋友已经试过了,用这个库请求29题是不行的。(不得不说卞大是真的强)

在访问29题前,浏览器访问ja3官网记录指纹,访问29题之后,再访问ja3官网,指纹变了,这个是降低难度之前

出题人把降低难度之后,访问29题前后ja3指纹都不会变了

所以现在有朋友或许可以误打误撞搞出来

具体情况需要懂原理然后自己悟的,因为经某大佬嘱咐,我不能说出来,这个必须守约的。

结语

以上都是个人见解,如果有误还望指正,有任何问题,我很乐意跟各位大佬们交流,我微信id:geekbyte

akamai TLS指纹(即JA3) akamai1.75 TLS指纹 ja3 akamai2.0 Cloudflare 5秒盾 阅读详情

相关推荐

逆向之Ja3指纹学习

声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!引言: 在当今互联网时代,保护通信数据的安全性变得至关重要。为了建立安全的通信连接,TLS(Transport Layer Security)协议被广泛应用于Web浏览器、移动应用和其他网络应用程序中。而与此同时,识别和分析这些TLS通信也成为网络安全研究和威胁情报分析的重要任务之一。JA3指纹作为一种独特的指纹识别技术,为我们提供了一种有

2301_78834737的博客 2020

总结TLS指纹反爬

TLS指纹,也有人叫JA3指纹。在创建TLS连接时,根据TLS协议在Client Hello阶段发送的数据包就是就是TLS指纹。不同浏览器、不同版本(不同框架)因为对协议的理解和应用不一样,所以发送的数据包内容也就不一样,所以就形成了TLS指纹。

老鹰的博客 6120

python爬虫 - 猿人学第十九题突破ja3指纹验证

ja3指纹破解,骚操作删除原生加密算法

app安全逆向、移动开发、tls/ja3、爬虫、反爬 7683

Python工程师之JA3 指纹

有些小伙伴在爬取网站的时候,是不是觉得爬取数据的时候,把代理加好,header设置得和网站请求一样,是不是网站就不会知道是谁爬取的呢? 其实不然,就算设置好代理IP和header一样可能会被网站检测到的,这个东西就是ja3指纹。 那什么是JA3指纹呢?A3指纹又叫做浏览器指纹,它是不会随着你更换 IP 或者 User-Agent 而改变的。而且即使你不使用模拟浏览器,你直接使用 Golang、使用 Python,它们也有自己各自的指纹,并且他们的指纹每次请求也是固定的。只要网站发现某个拥有特定指纹的客户端.

weixin_36723038的博客 6107

绕过TLS/akamai指纹护盾

TLS指纹是一种用于识别和验证TLS(传输层安全)通信的技术。TLS指纹可以通过检查TLS握手过程中使用的密码套件、协议版本和加密算法等信息来确定TLS通信的特征。由于每个TLS实现使用的密码套件、协议版本和加密算法不同,因此可以通过比较TLS指纹来判断通信是否来自预期的源或目标。TLS指纹可以用于检测网络欺骗、中间人攻击、间谍活动等安全威胁,也可以用于识别和管理设备和应用程序。

weixin_43025534的博客 3766

JA3和JA4在Python爬虫中的阻碍及解决办法

TLS指纹技术是当代反爬虫的核心技术之一,但通过深入理解其原理和采用多层防护策略,开发者可以构建更健壮、更难被检测的爬虫系统。TLS(Transport Layer Security)和SSL(Secure Sockets Layer)是密码学协议,为网络通信提供安全性。:客户端向服务器发送支持的TLS版本、加密套件列表、随机数、会话ID和扩展信息。Version:TLS版本(如12=TLS 1.2,13=TLS 1.3):服务器响应选择的TLS版本、加密套件、会话ID和自己的随机数。

猿榜编程的博客 1950

curl_cffi: 支持原生模拟浏览器 TLS/JA3 指纹的 Python 库

curl_cffi: 支持原生模拟浏览器 TLS/JA3 指纹的 Python 库

resphina的博客 3091

TLS流量指纹识别:JA3/JA3S原理、实战与安全应用

TLS(传输层安全)协议是保障网络通信加密与认证的基石,其核心在于通过握手协商建立安全信道。握手过程中交换的版本、密码套件和扩展列表等明文信息,构成了客户端与服务器的独特行为特征。JA3和JA3S技术正是通过提取并哈希这些特征值,生成唯一的TLS指纹,从而实现对加密流量的有效识别与分类。这项技术的核心价值在于其能够穿透加密内容,基于行为特征进行高精度设备与应用识别,对抗恶意软件的IP与域名变换。在应用场景上,JA3指纹广泛应用于威胁狩猎,通过比对已知恶意软件指纹库,可快速检测高级持续性威胁(APT)活动与C

weixin_33692284的博客 329

Salesforce JA3项目与Zeek集成指南:TLS指纹识别实战

JA3是一种TLS/SSL客户端指纹识别技术,它通过捕获TLS握手过程中的五个关键参数(SSL版本、密码套件、扩展列表、椭圆曲线、椭圆曲线格式)生成唯一哈希指纹。这种技术广泛应用于恶意软件检测、威胁情报共享和设备识别等领域。 ## Zeek中的JA3功能模块 Salesforce提供的JA3 Zeek插件包含三个核心功能模块: ### 1. ja3.zeek模块 - 在ssl.log日志中添...

gitblog_00659的博客 1146

GeekByte

极客字节 我已经使用Android API级别29(Java)开发了我的应用“ GeekByte”,并使用了仿真器:Pixel 2 XL API 29进行开发和测试。 用户在安装后首次打开该应用程序时,会弹出一个欢迎对话框,然后要求他们填写订单名称,电话,电子邮件和个人简历中的所有字段。 “名字”,“电话号码”,“电子邮件”和“生物”字段被标记为必填项。 电话号码字段具有正则表达式,以确保仅输入数字以及“ +”,“-”,“(”和“)”。 还使用了电子邮件地址的正则表达式,并且将生物字段的最大长度设置为250个字符。 为了存储用户最后输入的详细信息,我使用了“共享首选项”本地存储功能。 可以通过点击个人资料图像来编辑个人资料图片。 分配给该项目的小时数为10个小时,分为4天。 所需安装: 1.)链接到Android Studio的MacOS安装-https: 2.)链接下载Android

GN算法边介数计算优化指南:如何提升大规模社交网络分析效率

本文深入探讨了GN算法在大规模社交网络分析中的核心瓶颈——边介数计算,并提供了从算法优化到工程部署的完整性能提升方案。通过引入Brandes算法、并行计算、增量更新及分布式处理等策略,有效解决了传统GN算法在处理百万级网络时效率低下的问题,为社交网络社区划分等实际应用提供了高效解决方案。

weixin_29196613的博客 485

JA3 - SSL/TLS 客户端指纹方法指南

JA3 - SSL/TLS 客户端指纹方法指南 ja3JA3 is a standard for creating SSL client fingerprints in an easy to produce and shareable way.项目地址:https://gitcode.com/gh_mirrors/ja/ja3 1. 项目的目录结构及介绍 在 salesforce/ja3 仓库中...

gitblog_00079的博客 1313

保姆级教程:用sw_urdf_exporter插件将Solidworks机械臂模型转为ROS可用的URDF

本文提供了一份详细的保姆级教程,指导用户使用sw_urdf_exporter插件将Solidworks机械臂模型转换为ROS可用的URDF文件。从环境准备、插件配置到模型预处理和关键参数设置,再到ROS环境集成测试和性能优化,全面覆盖了机械臂URDF转换的全流程。特别适合机器人工程师和ROS开发者快速实现Solidworks模型到ROS环境的无缝迁移。

weixin_29300931的博客 397

易语言实战:利用CycleTLS自定义JA3指纹,突破TLS反爬限制

本文介绍了一种基于CycleTLS的易语言网络请求方案,通过自定义JA3指纹模拟真实浏览器环境,以绕过TLS级别的反爬机制。文章详细解析了JA3指纹原理,提供完整的请求实现步骤和代码示例,说明如何配置请求参数、发送请求并处理响应。重点阐述了关键参数设置和典型应用场景,如绕过指纹风控、模拟浏览器采集等。该方案为易语言开发者提供了一种简单有效的TLS层伪装方法,建议合理使用并遵循网站访问协议。附带源码下载地址和参数说明,便于实际应用。

weixin_42643979的博客 1876

大疆机场及无人机上云(航线规划、指令飞行...)

最近基于大疆上云api进行二次开发,后面将按照开发步骤对其进行说明!

资深三维GIS开发 5571

2.实体机安装TrueNAS 方法

访问不了可以使用以下连接:提取码:0927。

Unofficial_user的博客 7430

libvips 形态学与频域滤波全解:morph、phasecor、spectrum 三大核心算法深度剖析

**libvips** 是一款以"极速 + 低内存"著称的图像处理库,它的形态学(morphology)与频域滤波(freqfilt)模块提供了 `morph`、`spectrum`、`phasecor` 等一组强大的算子:从二值图像清洗、去噪,到图像频谱可视化、相位相关配准,几乎覆盖了图像分析的两个经典领域。本文带你快速搞懂这些操作符背后的原理、用法与源码位置。 [![libvips 形态学与

gitblog_00395的博客 950

手把手教你用Matlab解析Zygo .dat文件:从二进制数据到面形图(附完整流程)

本文详细介绍了如何使用Matlab解析Zygo干涉仪生成的.dat文件,从二进制数据读取到面形图可视化的完整流程。通过实例代码演示了文件结构解析、数据矩阵读取、高阶Zernike拟合等关键技术,帮助工程师和研究人员高效处理光学检测数据,提升分析精度和工作效率。

weixin_30731305的博客 447

获取 JA3 指纹的一般办法

摘要: JA3指纹用于TLS客户端识别,可通过多种方式获取: 被动抓包:使用Scapy或Wireshark解析流量中的Client Hello消息,提取字段并哈希计算; 主动探测:通过OpenSSL或Python脚本连接目标服务器,获取TLS握手信息; 浏览器环境:借助JavaScript获取部分指纹(受限); 工具集成:商业安全产品(如CrowdStrike)或开源工具(Suricata)支持JA3分析; 存储比对:可自建数据库存储指纹供后续分析。被动抓包最常用,适用于网络安全监测,而浏览器指纹多用于反欺

servepeople的博客 1128

拯救者Y9000P 2022双系统实战:Ubuntu22.04分区优化与驱动避坑指南

本文提供联想拯救者Y9000P 2022款安装Ubuntu 22.04双系统的详细实战指南。重点讲解针对该机型的磁盘分区优化方案、NVIDIA显卡驱动安装避坑技巧,以及安装后的网络、时间同步等必备配置,帮助用户高效完成双系统部署并提升使用体验。

weixin_29208327的博客 422

【基于 CasADi 的欠驱动无人船实时非线性模型预测控制(NMPC)实现与避碰仿真】MATLAB开源复现

本文提出了一种基于CasADi的欠驱动无人船实时非线性模型预测控制(NMPC)方法,实现了轨迹跟踪与避碰功能。研究采用三自由度USV动力学模型,集成静态与动态障碍物避碰约束,并满足国际海上避碰规则(COLREGS)。通过CasADi+IPOPT数值优化求解,实现了毫秒级实时控制。文章详细介绍了USV建模、NMPC控制器设计、避碰约束建模以及CasADi实现流程,包括核心求解流程和轨迹生成方法。实验结果表明,该方法能有效实现复杂环境下的轨迹跟踪与避碰功能。

vor234的博客 1394

Curl_cffi实战:完美伪装成真实浏览器TLS/JA3指纹

本文介绍了curl_cffi库在爬虫开发中的核心应用,重点解决TLS/JA3指纹识别问题。通过模拟真实浏览器的TLS握手参数,curl_cffi能有效规避反爬机制,相比传统请求库具有零魔改、高性能和强兼容性优势。文章详细讲解了curl_cffi的安装配置、基础使用方法(支持Chrome/Firefox等浏览器模拟)、进阶技巧(代理、Cookie、异步请求处理)以及常见问题解决方案。通过对比其他技术方案,凸显了curl_cffi在轻量性和抗检测性方面的优势,为开发者提供了应对现代反爬系统的有效工具。

weixin_41943766的博客 1876

Yolov5自定义图片训练测试及模型调优(详细过程)

Yolov5自定义数据训练及测试1. 图像数据获取、标注2. 数据集划分及准备3. 配置训练参数,准备训练:3.1 修改data/训练配置xxx.yaml文件:3.2 修改models模型配置xxx.yaml文件4. 开始训练5. 测试训练后的模型: 1. 图像数据获取、标注 如果自定义训练自己的数据集,首先需要数据标注,至于数据来源可以是下载现有的开发数据集、拍照、爬虫等等。 如果是拍照、爬虫等获取的数据图片,需要进行数据标注,这个过程可以使用工具来做,但也需要一些手动操作 。。并且图片越多越好,如果

HowieXue 薛永浩的博客 10万+

TLS 指纹字段深读:JA3/JA4、ALPN、Cipher Suites 到底该怎么看

HTTP/2与HTTP/1.0区别

2603_96485347的博客 528

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

TLS指纹为什么会变化? TLSFOWARD TLS指纹库

TLS指纹漂移现象解析:原因、影响与应对策略 TLS指纹(如JA3/JA4)会因多种因素发生变化,这种现象称为"指纹漂移"。主要原因包括:浏览器升级、操作系统变化、TLS库更新、网络代理介入、配置调整等。JA3对字段顺序敏感,细微变化就会导致完全不同哈希值,JA4虽改进但仍无法完全避免漂移。 合理管理指纹库需注意:建立版本链追踪变化、采用多维置信度评分(而非绝对匹配)、维护结构化测试数据集。实际应用中,TLS指纹适合用于分类和风险评估,但不适合作为绝对判断依据,应结合版本范围、时间序列和相似度分析来评估匹配

2603_96485347的博客 773

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

从TLS握手到指纹哈希:一篇讲透JA3/JA3S的计算原理与Python实现

本文深入解析了JA3/JA3S指纹技术在TLS握手过程中的计算原理与Python实现。通过提取Client Hello报文中的版本、密码套件等核心字段构建唯一指纹,结合MD5哈希生成标准识别码,帮助识别加密数据流量中的通信双方身份。文章详细演示了从抓包到指纹生成的全流程,并探讨了该技术的应用场景与未来发展方向。

weixin_30482181的博客 391

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 能过tls检测的curl-impersonate win版,搞起来啊
下一篇: python突破tls后续:pip install
geekbyte.
博客等级 码龄11年 308粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值