APP抓包问题总结及常见绕过方法

Ann2021-09-03 18:58:02

前言

在前天的沙龙上,师傅们积极探讨,期间提出了一些关于app抓包的相关问题。在此小小的总结一波有关的分析以及解决办法。

01 检测代理

首先是当设置手机代理后,APP无法获取网络数据。会出现无法连接网络的情况出现。这就说明app设置了代理检测。常见的检测代码如下

public static boolean isWifiProxy(Context context) {final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;String proxyAddress;int proxyPort;if (IS_ICS_OR_LATER) {proxyAddress = System.getProperty("http.proxyHost"); //获取代理主机String portStr = System.getProperty("http.proxyPort"); //获取代理端口proxyPort = Integer.parseInt((portStr != null ? portStr : "-1"));} else {proxyAddress = android.net.Proxy.getHost(context);proxyPort = android.net.Proxy.getPort(context);}Log.i("代理信息","proxyAddress :"+proxyAddress + "prot : " proxyPort")return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1);}

此时可以利用postern等工具,进行全局的流量转发,跳过代理检测。另外的方法就是反编译app,进行hook或者是直接修改smali代码重打包。关于修改smali代码这个也很适用于Android7以上,系统不再信任用户级的证书,只信任系统级的证书。换一条路,不改证书,改app也是可以达到这个效果。

02 No Proxy

其次就是通信协议代码中使用了proxy(Proxy.NO_PROXY),即使是设置了代理也是会被绕过的。此时是网络可以正常使用,但是就是抓不到包。这时候可能就是这个原因了。

public void run() {Looper.prepare();OkHttpClient okHttpClient = new OkHttpClient.Builder().proxy(Proxy.NO_PROXY). //使用此参数,可绕过系统代理直接发包build();Request request = new Request.Builder().url("http://www.baidu.com").build();Response response = null;try {response = okHttpClient.newCall(request).execute();Toast.makeText(this, Objects.requireNonNull(response.body()).string(), Toast.LENGTH_SHORT).show();} catch (IOException e) {e.printStackTrace();}Looper.loop();}

此时也是可以使用全局系统代理工具,如HttpCanary等工具进行绕过,或者是直接hook该方法。

03 SSL Pinning证书锁定

抓包时,无法连接网络并且也接收不到任何数据

将APP代码内置仅接受指定域名的证书,而不接受操作系统或者浏览器内置的CA根证书对应的任何证书。通过这种授权方式,保障了APP与服务端通信的唯一性和安全性,因此移动端APP与服务端(例如API网关)之间的通信可以保证绝对的安全。

这种方法有多种实现,比如说开发者将SSL证书的某些字节码硬编码在APP中。当应用程序与服务器通信时,它将检查证书中是否存在相同的字节码。如果存在,则应用程序将请求发送到服务器。如果字节码不匹配,它将抛出SSL证书错误。此技术可防止攻击者使用自己的自签名证书。

这个时候就需要往抓包工具中导入app的证书, 通常在assets文件夹中,.p12 .pem .cer。然后再hook。不过此时要对抗混淆。

搬运之前的文章https://www.52pojie.cn/thread-1405170-1-1.html

总结

其次最强工具目前就是肉丝师傅的r0capture。


可以通杀任何抓包问题。让天底下没有抓不到的包。在之前的文章中,也提供了一份frida的justTrustme的脚本,可以hook常见的通信协议的代理检测。大家可以用一下测试一下。

软件抓包
本作品采用《CC 协议》,转载必须注明作者和本文链接
免费开源 Http、Https 工具,支持 Windows、Mac、Android、IOS, 全平台系统,使用 Flutter 框架开发
最近几天一款WX小游戏火爆出圈,自己尝试通关40多次,无奈最后还是选择走捷径。首先下载Fiddler,一路正常安装就行,安装完成后进入设置。这些设置完成后,就可以进入WX小程序进行操作了。打开Fiddler后进入游戏,然后开始。这里可以看到2个map_id,不难理解这个其实就是关卡的编号。初始第一关id为80001,一直不变。第二关后id变为90015,顾名思义9月15号。拿到2个map_id后,就可以直接上手撸FiddlerScript了。
无规则封你wehcat
2021-10-09 07:28:08
莫名其妙微信被封了?微信在举报进入之前做了一个检测 如果检测到有与程序相关的CA证书就会拒绝你的访问且标记?投诉选项无固定限制?这个要跟你递交上去的“违禁词”相匹配即可找到刚刚我们设置的规则,找到含有 weixin110.qq的长按选择静态注入?滑倒最底部 有一个小铅笔图标 点击-在线编辑修改好了之后点击右上角的?
HTTPs双向认证及解决方案Https一般采用单向认证,但是一些特殊的APP在服务端也会对证书进行再次认证,这样的认证机制我们称为HTTPs双向认证。
6月11日,国务院办公厅发布《国务院2021年度立法工作计划》,要求加强重点领域、新兴领域、涉外领域立法。网络安全方面,该计划明确的立法项目括:预备提请全国人大常委会审议电信法草案;制定关键信息基础设施安全保护条例(网信办、工信部、公安部起草)、数据安全管理条例(网信办组织起草)、商用密码管理条例(密码局起草)。此外,该计划明确提出,健全规范平台企业发展、数据收集使用管理等方面的法律制度。(信息
打开VPN后,发现软件提示网络错误,关闭VPN网络连接正常,猜测软件可能有VPN检测。直接dump出dex文件。
App 服务端测试基本就是 Web 安全那一套,但如果不到服务器的?模拟器和测试手机的安版本建议在 7 以下,生态较好。
北京朝阳区人民法院认为,凌某胜、凌某瑞的行为已构成盗窃罪,分别判处有期徒刑十二年,罚金人民币二十万元,剥夺政治权利二年等。
如今,我们日常生活中每天都使用大量的物联网设备,比如智能门锁、地铁扫码闸机、早餐店收款播报音箱、汽车充电桩、上班刷脸打卡等,作为 IoT 物联网领域的开发者,你有想过背后完整的网络通信过程么?借助全球开发者使用最广泛的开源软件 Wireshark,抓取终端设备网卡通信,一切就一目了然了。你会发现终端设备先做了DNS解析,再建立 MQTT 长连接通道,订阅业务主题,上报采集
Web安全是网络渗透中很重要的一个组成部分,今天跟大家聊一下,如何在三个月内从零基础掌握Web安全。
Ann
暂无描述