手机frida绕过ssl pinning

这篇具有很好参考价值的文章主要介绍了手机frida绕过ssl pinning。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备

手机得是root过的,然后从这个网站https://github.com/frida/frida/releases下载对应版本的frida-server,现在的手机大多数都是arm64的。
电脑上下载adb,手机用USB连到电脑上,打开开发者选项的USB调试。adb devices确认已经连接,用adb push把frida-server传到手机上,chmod 777后切换到root用户下运行。这一步手机上会向你确认adb要求root权限,可以用magisk管理root权限。

adb push arm64-frida-server /data/local/tmp
adb shell
chmod 777 /data/local/tmp/arm64-frida-server
su
./data/local/tmp/arm64-frida-server

在电脑上安装frida,直接用pip安装,常见的问题可以看这篇文章:
https://www.jianshu.com/p/25b430bb60a6

电脑端设置一下端口转发

adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

frida-ps -U看一下有没有成功连接上,同时还能看到你要hook的app的进程名。

绕过ssl pinning的frida脚本如下,用途是在使用fiddler抓包的时候给手机安装了fiddler的证书但是app只信任自己的根证书因此app连不上网或者抓不到https包。

import frida
import sys

print("start")
session = frida.get_usb_device().attach('Facebook')
src = """  
setTimeout(function(){

    Java.perform(function() {
    var array_list = Java.use("java.util.ArrayList");
    var ApiClient = Java.use('com.android.org.conscrypt.TrustManagerImpl');

    ApiClient.checkTrustedRecursive.implementation = function(a1, a2, a3, a4, a5, a6) {
        console.log('Bypassing SSL Pinning');
        var k = array_list.$new();
        return k; 
        }
   });
},0);
"""


def on_message(message, data):
    if message["type"] == "send":
        print("[+] {}".format(message["payload"]))
    else:
        print("[-] {}".format(message))


script = session.create_script(src)
script.on("message", on_message)
script.load()
sys.stdin.read()

或者写成xposed模块,现在都是用在lsposed上了。lsposed的安装和模块编写可以看我其他的文章。文章来源地址https://www.toymoban.com/news/detail-522620.html

package com.xposed.ssl;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Set;

public class passHook implements IXposedHookLoadPackage {

    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        XposedBridge.log("Loaded app: " + lpparam.packageName);
        //[Ljava.security.cert.X509Certificate;', '[B', '[B', 'java.lang.String', 'boolean', 'java.util.ArrayList', 'java.util.ArrayList', 'java.util.Set'
        Class<?> trustmanager = lpparam.classLoader.loadClass("com.android.org.conscrypt.TrustManagerImpl");
        XposedHelpers.findAndHookMethod(trustmanager, "checkTrustedRecursive",
                X509Certificate[].class, byte[].class, byte[].class, String.class, boolean.class, ArrayList.class, ArrayList.class, Set.class, new XC_MethodHook() {
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                super.beforeHookedMethod(param);
                XposedBridge.log("ssl pinning start");
            }

            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                super.afterHookedMethod(param);
                ArrayList result = new ArrayList();
                param.setResult(result);
            }
        });
    }
}

到了这里,关于手机frida绕过ssl pinning的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全协议之比较(SSH、PKI、SET、SSL)

    一、SSH介绍  什么是SSH?  传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据, 别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(

    2024年02月15日
    浏览(50)
  • 常见网络通信协议(http、https、ws)及安全协议(SSL、TLS、XTLS)

    文章内容删除了一大半不合适的内容,发不出来,你懂得。🥰 HTTP和HTTPS都属于 应用层协议 ,它们都是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议。它们都是 基于 TCP/IP 协议 来传递数据的,支持 客户端-服务器模式 的通信。 HTTP和HTTPS的区别主要在于HTT

    2024年02月10日
    浏览(51)
  • 安卓协议逆向 咸鱼 frida rpc 调用方案

    通过frida rpc调用真机获取指定的搜索结果数据。 本文仅供大家学习及研究使用、切勿用于各种非法用途。 frida 提供了一种跨平台的 rpc (远程过程调用)机制,通过 frida rpc 可以在主机和目标设备之间进行通信,并在目标设备上执行代码,可实现功能如下: 1、动态地

    2024年02月07日
    浏览(41)
  • 关于网络通信安全协议的一些知识(ssl,tls,CA,https)

    首先了解一下http协议的变迁。 http1.0默认短连接,1.1默认长连接并且可以管道传输,但是存在队头阻塞问题; https就是在tcp和http之间加了SSL/TLS层。 http2也是安全的,改进是hpack二进制和编码压缩减小体积,stream没有队头阻塞了(TCP层还有),以及服务器主动推送功能; http

    2024年02月15日
    浏览(56)
  • SSL协议是什么?关于SSL和TLS的常见问题解答,被面试官问的网络安全问题难倒了

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月22日
    浏览(46)
  • 绕过 Android SSL Pinning

    转载请注明出处。请前往 Tiga on Tech 查看原文以及更多有趣的技术文章。 SSL Pinning 指的是,对于 target sdk version 23 的 Android App,App 默认指信任系统的根证书或 App 内指定的证书,而不信任用户添加的第三方证书。这会导致我们在对 App 做逆向分析的时候,使用 Charles 无法抓 h

    2024年01月16日
    浏览(42)
  • 解决网络编程中的EOF违反协议问题:requests库与SSL错误案例分析

    1. 问题背景 近期,一个用户在使用requests库进行网络编程时遭遇到了一个不寻常的问题,涉及SSL错误,并提示错误消息为 SSLError(SSLEOFError(8, u\\\'EOF occurred in violation of protocol (_ssl.c:661)\\\'),)) 。该用户表示已经采取了多种方法来解决这个问题,包括更换设备、更新操作系统和库等措

    2024年02月20日
    浏览(50)
  • 【粉丝福利社】Android应用安全实战:Frida协议分析(文末送书-完结)

    🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:

    2024年04月09日
    浏览(65)
  • Java调用HTTPS接口,绕过SSL认证

    网络编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密的方式在计算机网络上进行安全通信的协议。网络传输协议,跟http相比更安全,因为他加上了SSL/TLS协议来加密通信内容。 Java调用HTTPS,需要与客户端建立连接,但是建立连接的时候,需要进行SSL认证。有的时候

    2024年02月06日
    浏览(44)
  • 【软考网络管理员】2023年软考网管初级常见知识考点(18)-安全协议SSL与PGP、数据加密技术

    安全套接层协议SSL详解,PGP协议是什么?数据加密技术有哪些?软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 原创于:CSDN博主-《拄杖盲学轻声码》,更多考点汇总可以去他主页查看 更多考试总结可关注CSDN博主-《拄杖盲学轻声码》 SSL可以对

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包