首页 > 其他分享 >TLS/JA3指纹模拟

TLS/JA3指纹模拟

时间:2023-04-19 18:45:56浏览次数:48  
标签:TLS DH AESGCM ECDH JA3 指纹 ssl json https

一、查看TLS指纹的网站

二、网站防御方式及应对

  • 非法指纹黑名单

    • 应对策略:修改默认指纹(修改TLS hello包的值)

    • httpx示例:

      import ssl
      import random
      import httpx
      
      # create an ssl context
      ssl_context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS)
      # create random CIPHERS
      CIPHERS = ":".join(random.sample(
          ["ECDHE+AESGCM", "ECDHE+CHACHA20", "DHE+AESGCM", "DHE+CHACHA20", "ECDH+AESGCM", "DH+AESGCM", "ECDH+AES", "DH+AES",
           "RSA+AESGCM", "RSA+AES", "!aNULL", "!eNULL", "!MD5", "!DSS"], random.randint(5, 10)))
      # CIPHERS = 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH'
      ssl_context.set_ciphers(CIPHERS)
      
      r = httpx.get('https://tls.browserleaks.com/json', verify=ssl_context)
      print(r.json())
  • 合法指纹白名单

    • 应对策略:使用curl_cffi库模拟浏览器

    • curl_cffi库

      • 安装
        pip install curl_cffi
      • 仓库地址:https://github.com/yifeikong/curl_cffi
      • 使用
        from curl_cffi import requests
        
        # 注意这个 impersonate 参数,指定了模拟哪个浏览器
        r = requests.get("https://tls.browserleaks.com/json", impersonate="chrome101")
        print(r.json())
      • 目前支持模拟的浏览器版本:["edge99", "edge101", "chrome99", "chrome100", "chrome101", "chrome104", "chrome107", "chrome110", "chrome99_android", "safari15_3", "safari15_5"]
      • 支持代理(同requests)
        from curl_cffi import requests
        
        # 使用代理
        proxies={"http": "http://ip:port", "https": "http://ip:port"}
        r = requests.get("https://tls.browserleaks.com/json", impersonate="chrome101", proxies = proxies)
        print(r.json())

参考来源:https://yifei.me/note/2719

标签:TLS,DH,AESGCM,ECDH,JA3,指纹,ssl,json,https
From: https://www.cnblogs.com/eliwang/p/17334290.html

相关文章

  • 顶象uni-app版设备指纹上线,满足企业多平台服务需求
    某旅游公司,在短视频平台上发布了自己的小程序服务。用户观看精彩旅游直播或视频时,可以转到视频平台的小程序上查阅详细路线套餐。该旅游公司想详细了解来访者的更多情况,以便于进行深度营销,为用户提供个性化服务。经过多番比较,他们选用了顶象uni-app版设备指纹。顶象uni-app版设......
  • 使用国密SSL证书,实现SSL/TLS传输层国密改造
    密码是保障网络空间安全可信的核心技术和基础支撑,通过自主可控的国产密码技术保护重要数据的安全,是有效提升我国信息安全保障水平的重要举措。因此,我国高度重视商用密码算法的应用并出台相关政策法规,大力推动国产商用密码算法在金融与重要领域的应用。目前,国密算法已经成熟应用于金......
  • 生物识别技术的新突破:人脸识别与指纹识别的精度与速度提升
    近年来,随着科技的不断发展,生物识别技术也得到了快速的发展。其中,人脸识别和指纹识别技术是最为常见的两种生物识别技术。在过去,这两种技术的精度和速度都存在一定的问题,但是最近的研究表明,这两种技术已经取得了新的突破,精度和速度都得到了显著提升。 首先,让我们来看看人脸识......
  • GnuTLS recv error (-110): The TLS connection was non-properly terminated问题的解
    1. sudoapt-getupdate2.sudoapt-getinstallbuild-essentialfakerootdpkg-dev3.sudoapt-getbuild-depgit4.mkdir~/git-openssl5.cd~/git-openssl6apt-getsourcegit ......
  • 逆向 | windows TLS回调
    逆向|windowsTLS回调之前逆向的时候偶尔会碰到tls回调,但是没有自己实现过,今天想着实现一下。参考的代码来自逆向工程核心原理。代码如下:#include<windows.h>#pragmacomment(linker,"/INCLUDE:__tls_used")voidprint_console(char*msg){ HANDLEhStdout=GetS......
  • golang TLS方式发送邮件
    packagemailimport( "crypto/tls" "errors" "fmt" "net/smtp" "net/textproto")typeloginAuthstruct{ username,passwordstring}//LoginAuthisfuncLoginAuth(usernamestring,passwordstring)......
  • 一篇文章教你从入门到精通 Google 指纹验证功能
    作者:SunDaxiangGoogle从Android6.0开始,提供了开放的指纹识别相关API,通过此篇文章可以帮助开发者接入指纹验证的基础功能,并且提供了系统应用基于指纹验证的功能扩展,如指纹验证登录功能核心流程图和关键代码分析。一、基础篇从Android6.0开始,Android系统支持指纹识别功能,指纹......
  • golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算
    golangCVE-2016-2183漏洞,https需要添加tls设置加密算法白名单,将弱加密算法DES和3DES去掉。服务端样例代码packagemainimport("crypto/tls""fmt""net/http")funchandler(writerhttp.ResponseWriter,request*http.Request){fmt.Fprintf(wri......
  • Python使用rtlsdr
    1.打开命令行  也可以在Spyder中的控制台中2.安装rtlsdrpipinstallpyrtlsdr3.下载驱动动态库https://ftp.osmocom.org/binaries/windows/rtl-sdr/因为python是64位的,所以驱动也要下载64位的 下载最新的即可4.这三个就是我们需要的驱动  5.将三个驱动复制......
  • TLS/SSL工作原理及握手过程
    一、TLS/SSL基础概念1、概念TLS传输层安全性协议(TransportLayerSecurity)SSL安全套接层(SecureSocketsLayer)目的:为互联网通信提供安全以及数据完整性保障。HTTPS=......