主要观点总结
本文主要介绍Flutter框架的特性以及针对使用Flutter构建的APP如何进行HTTPS抓包。文章首先概述了Flutter框架和特征,然后详细描述了在进行Flutter HTTPS抓包时遇到的问题,如不走系统代理、证书校验写死在SO文件里等,导致常规SSL绕过模块失效。文章还介绍了如何通过Frida去hook libflutter.so中的ssl_client函数来绕过证书校验问题,提供了详细的流程和Frida脚本示例。
关键观点总结
关键观点1: Flutter框架介绍和特征
Flutter是Google开源的移动应用开发框架,使用Dart语言开发,可以帮助开发者快速构建高质量的原生用户界面,支持iOS、Android、Web和桌面应用。在构建Android APP时,会出现两个库:libapp.so和libflutter.so,其中libflutter.so存放了flutter的基础类库。
关键观点2: Flutter HTTPS抓包遇到的问题
使用常规方法进行Flutter HTTPS抓包时,会遇到不走系统代理、不支持设置代理、证书校验写死在SO文件里等问题,导致抓包失败。这些问题的原因是SSL证书验证失败,报错信息指向Flutter框架的SSL证书验证。
关键观点3: 解决Flutter HTTPS抓包问题的方法
通过Frida去hook libflutter.so中的ssl_client函数可以绕过证书校验问题。具体流程包括查找libflutter.so中的ssl_client函数,编写Frida脚本进行hook,执行脚本后实现HTTPS抓包。
文章预览
0x01 前言 之前听说过Flutter框架APP没有通用的抓包方案,但一直没找到相关APP进行测试,正巧手头遇到了一个APP尝试用了之前写的方法都抓不到包,所以联想到有可能使用了Flutter框架。 APP抓包姿势总结 记一次APP双向认证抓包 强混淆APP SSLPinning Bypass 0x02 Flutter介绍 Flutter是Google构建在开源的Dart VM之上,使用Dart语言开发的移动应用开发框架,可以帮助开发者使用一套Dart代码就能快速在移动iOS 、Android上构建高质量的原生用户界面,同时还支持开发Web和桌面应用。 0x03 Flutter特征 当使用Flutter构建Android APP时,lib文件夹下的每个受支持的架构下会出现两个库:libapp.so和libflutter.so,libapp.so库包含了开发过程中编写的所有编译过的Dart业务代码。libflutter.so库则存放了flutter的一些基础类库。 0x04 Flutter抓取HTTPS 使用正常抓包测试流程发现该类APP不走系统代理、不
………………………………