• hook框架frida 绕过fillder证书认证


    一.fridajs脚本模板(网上找的保留)

    /*
    
       Android SSL Re-pinning frida script v0.2 030417-pier
    
    $ adb push burpca-cert-der.crt /data/local/tmp/cert-der.crt
    
       $ frida -U -f it.app.mobile -l frida-android-repinning.js --no-pause
    
    https://techblog.mediaservice.net/2017/07/universal-android-ssl-pinning-bypass-with-frida/
    
    
    
       UPDATE 20191605: Fixed undeclared var. Thanks to @oleavr and @ehsanpc9999 !
    
    */
    
    setTimeout(function(){
    
        Java.perform(function (){
    
         console.log("");
    
         console.log("[.] Cert Pinning Bypass/Re-Pinning");
    
    var CertificateFactory = Java.use("java.security.cert.CertificateFactory");
    
         var FileInputStream = Java.use("java.io.FileInputStream");
    
         var BufferedInputStream = Java.use("java.io.BufferedInputStream");
    
         var X509Certificate = Java.use("java.security.cert.X509Certificate");
    
         var KeyStore = Java.use("java.security.KeyStore");
    
         var TrustManagerFactory = Java.use("javax.net.ssl.TrustManagerFactory");
    
         var SSLContext = Java.use("javax.net.ssl.SSLContext");
    
    // Load CAs from an InputStream
    
         console.log("[+] Loading our CA...")
    
         var cf = CertificateFactory.getInstance("X.509");
    
    
    
         try {
    
          var fileInputStream = FileInputStream.$new("/data/local/tmp/cert-der.crt");
    
         }
    
         catch(err) {
    
          console.log("[o] " + err);
    
         }
    
    
    
         var bufferedInputStream = BufferedInputStream.$new(fileInputStream);
    
        var ca = cf.generateCertificate(bufferedInputStream);
    
         bufferedInputStream.close();
    
    var certInfo = Java.cast(ca, X509Certificate);
    
         console.log("[o] Our CA Info: " + certInfo.getSubjectDN());
    
    // Create a KeyStore containing our trusted CAs
    
         console.log("[+] Creating a KeyStore for our CA...");
    
         var keyStoreType = KeyStore.getDefaultType();
    
         var keyStore = KeyStore.getInstance(keyStoreType);
    
         keyStore.load(null, null);
    
         keyStore.setCertificateEntry("ca", ca);
    
    
    
         // Create a TrustManager that trusts the CAs in our KeyStore
    
         console.log("[+] Creating a TrustManager that trusts the CA in our KeyStore...");
    
         var tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
    
         var tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
    
         tmf.init(keyStore);
    
         console.log("[+] Our TrustManager is ready...");
    
    console.log("[+] Hijacking SSLContext methods now...")
    
         console.log("[-] Waiting for the app to invoke SSLContext.init()...")
    
    SSLContext.init.overload("[Ljavax.net.ssl.KeyManager;", "[Ljavax.net.ssl.TrustManager;", "java.security.SecureRandom").implementation = function(a,b,c) {
    
          console.log("[o] App invoked javax.net.ssl.SSLContext.init...");
    
          SSLContext.init.overload("[Ljavax.net.ssl.KeyManager;", "[Ljavax.net.ssl.TrustManager;", "java.security.SecureRandom").call(this, a, tmf.getTrustManagers(), c);
    
          console.log("[+] SSLContext initialized with our custom TrustManager!");
    
         }
    
        });
    
    },0);
    

    二.使用方法

    1.先下载证书

    自己百度burpca-cert-der.cr证书下载(建议百度,可以最新版本)

    或者去我博客园的文件链接

    https://files.cnblogs.com/files/pythonywy/burpca-cert-der.rar

    2.移动证书

    adb push burpca-cert-der.crt /data/local/tmp/cert-der.crt

    3.运行js

    frida -U -f 包名 -l js的绝对路径 --no-pause
    
  • 相关阅读:
    winserver-性能监视器计数器介绍
    winserver-性能监视器
    winserver-凭据管理(credential manager)
    The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "server_name" was unable to begin a distributed transaction.
    pandas-排序
    SQL SERVER-跟踪标记
    WinSCP
    SSL证书
    Powershell-修改文件夹权限
    fiddler 插件开发
  • 原文地址:https://www.cnblogs.com/pythonywy/p/13673867.html
Copyright © 2020-2023  润新知