Charles 抓包网络接口请求 修改请求参数 修改返回数据
简介
Charles会作为中间代理可以修改请求数据和响应数据,用户端发送数据被Charles代理,此时Charles相对于用户端来说就是服务端,然后把代理的数据转发给服务端,此时Charles相对于服务端就是用户端。
修改数据有很多种方法,先介绍最简单的一种,BreakPoint
使用方法就类似我们的Xcode调试应用打的断点,当请求到这个接口的时候就会暂停到这里,我们就可以在断点时修改请求参数,给他继续执行的权限之后就会自动执行
首先找到我们需要修改的接口,以我们的App来说,修改下余额yy一下,
通过抓包可以看到余额是在accountbala.....这个接口请求到的可以看到返回的数据202就是此刻的余额了,精确到分的(为了安全好多接口数据打码了,但主要功能还是一样不少的)
修改请求参数和数据
我们需要找到这个接口右键 选择Breakpoints ,再次请求这个接口到这里就会断点,选择Edit Request可以编辑请求参数,比如下面的手机号改为13888888888,请求网络类型可以随意修改,修改好之后点击Execute可以继续执行
当然我这里失败了,接口校验sessionkey,加密,时间戳等各种判断是能捕获到的,如果小公司软件接口没做处理通过修改请求数据是可以拿到别人的数据的,还可以修改vip,积分等,只作为技术交流。
可以看到请求手机号是修改后的手机号,当然返回失败了。
修改返回数据
修改返回数据是很好的方法,这样不会被服务器得知,但是客户端 会以为我们修改后的数据就是服务器返回的数据。
同样也是勾选Breakpoints,第一次捕获断点时候会让我们编辑请求数据,因为我们此时不需要修改请求数据,直接点Exccute继续执行,得到服务端的响应数据之后会再次捕获断点,此时我们就可以找到这个接口点击Edit Response 编辑响应数据了,修改余额23856283,点击Execute继续执行,在去看余额,