总览
知识点:
1、APP防代理绕过-应用&转发
2、APP证书校验类型-单向&双向
3、APP证书校验绕过-Frida&XP框架等
章节点:
1、信息收集-应用&资产提取&权限等
2、漏洞发现-反编译&脱壳&代码审计
3、安全评估-组件&敏感密匙&恶意分析
核心点:
0、内在点-资产提取&版本&信息等
1、抓包点-反代理&反证书&协议等
2、逆向点-反编译&脱壳&重打包等
3、安全点-资产&接口&漏洞&审计等
实例
开了http代理:app无法正常运行
1.反代理机制:防止软件被代理 抓包测试反代理测试 1.系统开代理是不是被拦截 打开代理 -> 被拦截,无法进行游戏 不开代理 -> 不拦截,正常进行游戏 - 代理检测问题 2.使用安卓软件开代理 不被拦截 -> 正常访问 已被拦截 -> 无法访问,超时等 模拟器内设置的代理被全部反制,表示是反模拟器层面的所有代理 也就是:模拟器/手机本身的代理 => 行不通
2.证书问题:工具证书不等于你测试的软件的证书
想法:在代码当中看有没有设置反代理和反证书 需要 - app反编译 - 找代码
|
1、自身的抓包应用
2、Proxifier转发使用(转发机制)
转发机制 如果设置代理 app->代理服务器BP->服务端 借助网络接口 绕过代理服务器的限制 1.不需要设置代理 2.数据本身已经逃离了模拟器,数据从模拟器走到本机,再到本机的接口转发到网络上 app->Proxifier->本地BP->服务端 这种情况是电脑出网层面的,本身与模拟器的内部限制无关
测试某APP: 配置Proxifier: app->Proxifier->本地BP->服务端 1.模拟器内部开代理: 1个数据包都没有流过BP 打不开软件 说明代理有限制 2.现在开Proxifier: 有三个数据包 流过BP 打不开软件 说明绕过了代理的限制,但还有第二层限制
这个时候就涉及了证书绕过(双层保险的第二层)
先检测代理 再检测证书
|
数据走ssl https
情况1,客户端不存在证书校验,服务器也不存在证书校验。
情况2,客户端存在校验服务端证书,服务器也不存在证书校验,单项校验。
情况3、客户端存在证书校验,服务器也存在证书校验,双向校验。
1、Frida&r0capture底层 前面讲过如何操作实现抓包 这里补充怎么转发到BP上
2、Xposed&JustTrust&HOOK XP框架 夜神模拟器内,搜索“Xposed”并下载。 需要两个辅助的apk: JustMePlush JustTrustMe 然后配置WiFi的代理,重启模拟器 最后打开XP框架,勾选上两个模块 证书屏蔽和代理屏蔽就开启了
3、反编译逆向提取证书重编打包 # 知识点 1.反编译 2.逆向提取 3.提取证书 4.重新打包
|