1.Python(2或者3)
2.App爬虫神器mitmproxy
3.按键精灵
4.还有之前的强制抓包工具postern
之前经过逆向以及抓包等分析,发现这两个app的sign以及author等最为重要,而且还绑定了时间戳,这就导致我们如果不分析其加密算法就比较抓数据,但是最后通过测试发现如下:
设备:华为荣耀6x
安卓版本:6.0
是否root: root
是否有xposed:有
安装企查查最新版和天眼查最新版、按键精灵最新版,最后是postern这个软件,postern这个需要自己配置,最后用到的时候再说。
以下引用自Hugo
顾名思义,mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。
不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。举例来说,利用 fiddler 可以过滤出浏览器对某个特定 url 的请求,并查看、分析其数据,但实现不了高度定制化的需求,类似于:“截获对浏览器对该 url 的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知”。而对于 mitmproxy,这样的需求可以通过载入自定义 python 脚本轻松实现。
但 mitmproxy 并不会真的对无辜的人发起中间人攻击,由于 mitmproxy 工作在 HTTP 层,而当前 HTTPS 的普及让客户端拥有了检测并规避中间人攻击的能力,所以要让 mitmproxy 能够正常工作,必须要让客户端(APP 或浏览器)主动信任 mitmproxy 的 SSL 证书,或忽略证书异常,这也就意味着 APP 或浏览器是属于开发者本人的——显而易见,这不是在做黑产,而是在做开发或测试。
那这样的工具有什么实际意义呢?据我所知目前比较广泛的应用是做仿真爬虫,即利用手机模拟器、无头浏览器来爬取 APP 或网站的数据,mitmproxy 作为代理可以拦截、存储爬虫获取到的数据,或修改数据调整爬虫的行为。
mac:在终端执行以下命令;(win:在cmd执行)
pip3 install mitmproxy #python3
或者
pip install mitmproxy #python2
安装完成后输入mitmdump --version
:
Mitmproxy: 4.0.4
Python: 3.7.4
OpenSSL: OpenSSL 1.1.0i 14 Aug 2018
Platform: Darwin-18.7.0-x86_64-i386-64bit
要启动 mitmproxy 用 mitmproxy、mitmdump、mitmweb 这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。
mitmproxy 命令启动后,会提供一个命令行界面,用户可以实时看到发生的请求,并通过命令过滤请求,查看请求数据:
手机连接到wifi->长按修改网络->显示高级选项->代理->手动
在电脑上的终端输入ifconfig(mac) win是ipconfig
主机是下面图的ip
端口就是上边的监听端口
点击确认
在http://127.0.0.1:8081/#/flows可以看到我们的数据包,打开企查查和天眼查app是不是发现没有数据包,接口都没出来,这两个app绕过wifi代理,不走mitmproxy
这时候我们就需要用到前边提到的强制抓包工具Postern
Postern能够让你自定义并重新分流设备上的网络流量
1.你可以让所有的App(包括不支持代理配置的App)都自动使用你指定的代理服务器, 无需专门为每个App配置代理。 Postern完整支持所有流行的代理隧道协议,包括:
SSH Tunnel
SOCKS5 Proxy
HTTPS/HTTP CONNECT method Tunnel
- Postern具有sniffer的功能,可以捕捉进出设备的数据包。方便你查看是否有广告或是恶意流量。
- Postern支持导入surge格式的配置文件,完整支持iOS surge的全部核心功能
配置Postern:
2. 打开配置规则,删除之前无用的规则
3. 添加规则,如下的配置:
4.最后打开v**,再打开企查查app,看我们的web,是不是抓到数据包了,并且还有我们需要的sign是不是,同样的方法我们可以操作天眼查app,是不是发现抓不到数据包,我们这时候就要借助JustTrustMe
,然后就不细说了。
JustTrustMe Relese版本下载地址:
python脚本写好,放出地址拦截脚本地址
图中就是我们需要的sign
以及时间戳。天眼查同样的
开头说过,sign以及Authorization都是有时效的,对于天眼查来说更短,那我们需要怎么做,我们可以借助按键精灵,利用按键精灵来操作。
最后脚本放在github github