Charles抓包实战详解

访问个人博客网络

前言

经过上一篇文章,想必你已经掌握了如何正确安装抓包神器 Charles,若是仍是抓不了包,能够再看看。iphone

今天要作是抓包实战,由于我在作网络文学的公司就任,因此就拿网络文学的 APP 掌阅开刀好了,如下进入抓包实战,体会 Charles 的强大之处!。编辑器

掌握了下面的抓包技巧,对于某些校验并非十分严格的 APP 来讲,破解他们的接口实在是垂手可得。好比修改个 isVip 参数为 true,就变身超级 VIP等;以前用这套抓包技巧,找了一个网校随便修改,发现要价上千至上万的课程居然能够跳过校验直接被我播放下载,也是醉了。学习

但愿你们掌握了抓包不要干违法的事情,本文目的在于让技术人员了解漏洞,加固校验,不被他人有隙可乘,以避免形成公司损失。测试

测试环境

环境:代理

  • Windows
  • Charles
  • iphone 7
  • 掌阅 APP 7.4.2

前提:手机已经链接 Charles 代理,并能够抓取 HTTPS 数据包。blog

1、Charles 的断点功能 Breakpoints 实战

首先登陆掌阅 APP ,清空Charles 的抓包列表,以防止干扰实验,而后进入 APP 的我的中心,能够看到图中圈出的数值,这里咱们对其数值进行修改。
接口

此时看到 Charles 的请求列表中出现了 APP 的请求。
ip

经过简单分析,能够知道我的中心的那些数据是从这个请求中获取到的,那么咱们便修改这个请求,右键这个请求,选择 Breakpoints,这样就给这个请求加上了断点。此时切换 App 到 书架再切换回我的中心,会再次发送该请求,Charles 会弹出请求的断点,由于这里不须要修改请求参数,直接放行便可,选择 Execute;放行后,会再次弹出断点,此时就是响应返回的断点了,选择 Edit Response, 底部选择 JSON text 能够修改返回值,
get

我这里把 2 修改为了 2222,修改完以后,点击Execute,回到 App 发现已经更改了。

测试中发现,掌阅 App 的请求时间若是过长,修改以后也会不生效。
这就须要使用 Charles 的下一个牛 X 的功能了,Map 映射,让 Charles 自动返回咱们想要的返回值。

2、Charles 的映射功能 Map 实战

上一个实验进行的时候,若是请求的响应时间过长,掌阅的 App 就会抛弃本次请求的结果,不对数据进行修改,所以咱们须要更快的去修改返回值。

之前用 Fiddler 对于这种响应时间有要求的 App,反正我是一筹莫展的,APP 老是提示网络异常,响应超时等。若是是更改一两个返回值还能够,若是是多个,是真没辙了,因此 Charles 的 Map 功能是很强大的。

重复上一步,抓到我的中心的数据包,就是这个请求。

右键选择 Save Response 到一个文件当中去。

再次右键,选择该请求,为了避免干扰实验,取消勾选上一步中的Breakpoints,而后再右键该请求,选择最下方 Map Local,选择刚才保存的文件。

注意这里的 Query,由于掌阅 APP 在请求时,附带了签名时间戳等参数,这里设置为 * 以后,就会忽略这些参数。
设置完成后,修改刚才保存的文件,使用 NotePad++ 等编辑器打卡,修改里面的 JSON 内容。
我改了部分数据,从新进入我的中心,查看 Charles 的请求内容,发现已经修改了

同时看 App 的我的中心也已经修改了,能够改很大的值,而后向不懂的人炫耀炫耀了哈哈哈~

3、Charles 的 Rewrite 实战

Rewrite 是对于 map 功能的一个补充,能够设置较为复杂的规则,下面演示替换 Body 内的用户名称

选择菜单栏 Tools -> Rewrite,选择开启 Rewrite, 并添加一条规则。替换 Body 体内的 We Jan 为 CCTV

APP再次发起请求,响应以下

参考

其实平常中,咱们须要用到的地方基本以上三个均可以包含到了,其余深刻学习的,能够参考下面的连接。

相关文章
相关标签/搜索