阅读 741

骚操作“破解”企查查app、天眼查app的sign以及Authorization

看我如何骚操作“破解”sign和Authorization!!!

这里要用到的工具/开发语言:

1.Python(2或者3) 2.App爬虫神器mitmproxy 3.按键精灵 4.还有之前的强制抓包工具postern

之前经过逆向以及抓包等分析,发现这两个app的sign以及author等最为重要,而且还绑定了时间戳,这就导致我们如果不分析其加密算法就比较抓数据,但是最后通过测试发现如下:

  1. 企查查的sign和时间戳有关
  2. sign和用于任何一个url
  3. sign短时间不会失效
  4. 天眼查的Authorization也和时间戳有关
  5. Authorization也是短时间内不会失效
  6. Authorization也可以用于任何url

通过以上发现,就其实很简单的把这些用起来。。。。如何做??看下面的骚操作

手机上的操作
设备:华为荣耀6x 
安卓版本:6.0
是否root: root
是否有xposed:有
复制代码

安装企查查最新版和天眼查最新版、按键精灵最新版,最后是postern这个软件,postern这个需要自己配置,最后用到的时候再说。

电脑上的操作(我这里是mac,win也一样的操作,这里都会安装python环境以及都会写python)
1. 介绍mitmproxy
以下引用自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 作为代理可以拦截、存储爬虫获取到的数据,或修改数据调整爬虫的行为。

2.安装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
复制代码
3.启动mitmproxy

要启动 mitmproxy 用 mitmproxy、mitmdump、mitmweb 这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。

mitmproxy 命令启动后,会提供一个命令行界面,用户可以实时看到发生的请求,并通过命令过滤请求,查看请求数据:

  • 使用的mitmproxy启动
    file
  • 使用的mitmweb启动
    file
4.代理手机
手机连接到wifi->长按修改网络->显示高级选项->代理->手动
在电脑上的终端输入ifconfig(mac) win是ipconfig
主机是下面图的ip
端口就是上边的监听端口
点击确认
复制代码

file
file

  • 安装证书 (没测试需不需要证书,但是ssl一般都需要吧) 在线安装证书,手机浏览器访问 http://mitm.it(选 Android)
5抓取数据我们需要的数据

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
复制代码
  1. Postern具有sniffer的功能,可以捕捉进出设备的数据包。方便你查看是否有广告或是恶意流量。
  1. Postern支持导入surge格式的配置文件,完整支持iOS surge的全部核心功能

配置Postern:

  1. 打开配置代理->添加代理服务器->如下配置:

file
2. 打开配置规则,删除之前无用的规则 3. 添加规则,如下的配置:
file
4.最后打开v**,再打开企查查app,看我们的web,是不是抓到数据包了,并且还有我们需要的sign是不是,同样的方法我们可以操作天眼查app,是不是发现抓不到数据包,我们这时候就要借助JustTrustMe,然后就不细说了。 JustTrustMe Relese版本下载地址:
file

6.python+mitmproxy拦截

python脚本写好,放出地址拦截脚本地址 图中就是我们需要的sign以及时间戳。天眼查同样的

file
最后可以吧这个sign和时间戳发送到队列,供我们使用。

7自动化

开头说过,sign以及Authorization都是有时效的,对于天眼查来说更短,那我们需要怎么做,我们可以借助按键精灵,利用按键精灵来操作。

  • 打开按键精灵->录制脚本->打开企查查app->搜索一个公司
  • 只要能让这个动作重复就可以了
  • 利用录制来重复播放就很OK
    file
8最后我们就只可以用sign和Authorization

附上我的github地址github 喜欢的可以start一下,谢谢。 也欢迎关注我的公众号【小白技术社】,一起学习,一起技术交流。 欢迎关注小白微信公众号【小白技术社】,一起学习一起交流