前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Charles抓包并篡改返回数据

使用Charles抓包并篡改返回数据

作者头像
honey缘木鱼
发布2018-06-13 16:38:26
5.5K0
发布2018-06-13 16:38:26
举报

      charles又名青花瓷,在iOS开发中的抓包中具有重要作用。最大的三点用处,一就是拦截别人软件的发送的请求和后端接口,练习开发。二是自己后端返回的response拦截修改后再接收以达到测试临界数据的作用。三写脚本重复拦截抓取别人的数据.

开始之前的准备工作

1.首先安装一下这个软件

这个相信很多人电脑里应该都安装了,没安装的搜charles破解版也能很容易搜到。如果没安装java环境,首次进入charles会提示让你安装java包得,直接给你链接是苹果官网的,去下一个一键安装就行了。下载安装地址IOS客户端和安卓客户端不同,下面以IOS客户端为例:

安装成功

2.设置代理

打开偏好设置----->网络---->可以查到自己这个电脑在现在这个wifi里的IP地址,比如我现在这个就是192.168.0.103(建议最好用私人网络,用公司网络的话可能会有限制会出现没反应的问题)

电脑网络

然后找到自己手机也连着这个同名的wifi,然后选中右边的蓝色

设置代理

3.打开charles工具,这时候你的手机上网的过程中就要经过你的电脑了。刚用手机打开一个联网的程序,你的电脑上应该会显示一个弹窗问你【allow】还是【deny】肯定不能拒绝啊就点allow吧。这个只有第一次才弹窗,图没截上,你到时候看见肯定能看懂的。点了同意之后你手机发出的每一个请求都会被拦截出痕迹。

设置代理服务

在手机上安装证书提示:

手机安装证书

证书地址

打开苹果手机的safari浏览器,输入网址:https:chls.pro/ssl  如图:

点击允许

安装

4.关闭charles ,重新启动,打开后运行手机就可以清楚看到:

数据

到此就已经完成了一次完整的,拉取接口,和获得数据。

这里有两点我想说下:

①就是如果这个App发的请求加密了或是RSA什么的,这个就算拦截了你也弄不到数据。没有做任何加密的App,所以可以抓取到数据。以前试了拦截百度医生的就不行。他设置的是一分钟内能获取到数据,超过了1分钟这个复制过来的接口就取不到数据了。怀疑可能是用的HMAC方法加密,并且在里面加入了时间判断。32分和33分发出的请求经过编码后是不一样的,后台可能做了容错,会把32分和31分都和你判断下,只要有一个对上就让你过,但是超过了整整一分钟后是肯定获取不到数据了。

②就是很多比较大型的网站,一般会开放一个开发者平台,里面注册开发者账号后会向你公开一个接口文档,你不用再去费事的拦截了。像新浪微博和大众点评都有开发者平台。

篡改后台返回数据

      因为这种做法可以让一个iOS前端的开发人员独立完成测试而不用拉过来一个后端一起联调。并且各种特殊维度,或是临界的账号也不用再去辛苦找了,仅仅自己在青花瓷上改来改去就可以达到效果了。比如这个地方如果返回了nil程序会不会崩,直接改response就行了。下面是具体操作方案。

1.打开青花瓷切换成结构页面。

结构页面

这里可以看到断点和调试信息:

调试断点

然后找一个我们公司的页面。这个页面本来应该返回是这样的:下图:

你先正常的打开这个页面把玩几下,这个青花瓷就会抓取很多接口和域名分类了。在这里找到你这个页面所属的域名分类应该不难。然后打上断点。这里要注意是在域名上打断点而不是在下面的单个请求上打断点。(单个请求打断点,更该数据没有任何用途)

再次用手机进入这个页面,就会通过你刚才打断点的那个域名来请求数据,就会被断点拦住,如下图所示。

断点

修改

把返回数据 8,3,0,0,0改为8,8,8,8,8,然后点击Execute单步执行,就会看到修改后的页面了,然后再次点击下方的Execute单步执行,更改后的数据就会像正常返回回来的数据那样显示到,APP的页面上展示。

成功显示

能来到这一步就说明已经完整的掌握了用青花瓷篡改返回数据测试App的技术。

这么做的意义:

这里只是简单的更改了一些数字,在页面显示更加直观。实际的操作中,你可以经常用来把某些值改为临界情况以看到App在处理这些临界状况时的反应,这样比找那些临界数据的测试账号成本要低得多。也可以把一些可能不会反回数值的字段找到,直接将里面的值删成nil,看看会不会报异常等等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档