send成功但是抓包没数据_一种基于frida和drony的针对flutter抓包的方法

dac6ef1436329efbc355a6b9272f4dba.png

本文为看雪论坛优秀文章

看雪论坛作者ID:beimingyouyu

一. 使用frida解除
flutter证书验证

Flutter是Google使用Dart语言开发的移动应用开发框架,使用一套Dart代码就能快速构建高性能、高保真的iOS和Android应用程序。

由于Dart使用Mozilla的NSS库生成并编译自己的Keystore,导致我们就不能通过将代理CA添加到系统CA存储来绕过SSL验证。为了解决这个问题,就必需要研究libflutter.so。

当向Burp发送HTTPS流量时,Flutter应用程序会抛出一个错误,可以将其作为起点进行溯源:

E/flutter (10371): [ERROR:flutter/runtime/dart_isolate.cc(805)] Unhandled exception: E/flutter (10371): HandshakeException: Handshake error in client (OS Error: E/flutter (10371):  NO_START_LINE(pem_lib.c:631) E/flutter (10371):  PEM routines(by_file.c:146) E/flutter (10371):  NO_START_LINE(pem_lib.c:631) E/flutter (10371):  PEM routines(by_file.c:146) E/flutter (10371):  CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(handshake.cc:352)) E/flutter (10371): #0      _rootHandleUncaughtError. (dart:async/zone.dart:1112:29) E/flutter (10371): #1      _microtaskLoop (dart:async/schedule_microtask.dart:41:21) E/flutter (10371): #2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) E/flutter (10371): #3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13) E/flutter (10371): #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)

该错误显示了触发错误的位置:handshake.cc:352,代码如下所示:

if (ret == ssl_verify_invalid) {
        OPENSSL_PUT_ERROR(SSL, SSL_R_CERTIFICATE_VERIFY_FAILED);    ssl_send_alert(ssl, SSL3_AL_FATAL, alert);  }

这是ssl_verify_peer_cert函数的一部分,该函数返回ssl_verify_result_t的枚举,枚举定义在ssl.h的第2290行ÿ

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值