charles实践-通过断点调试修改request

本文尝试总结一下平时使用charle的习惯,并举例说明如何进行断点调试

charles的安装配置

关于charles的安装、抓包配置(pc端配置、移动端配置)网上有很多资料,不再重复了

一个传送门:charles证书安装

一些常见的问题:

1、pc端无法抓到请求

检查有无勾选  “Proxy-macOS Proxy”(只有勾选上才能正常抓到请求)

 2、手机之前能抓到请求,但是后来抓不到了

可以尝试重新安装一下证书,手机浏览器输入"chls.pro/ssl"重新安装证书

修改request

对于某些限制输入字符数的输入框,一般前端会加上限制,通过抓包其实可以绕过前端校验的,所以更严谨的做法是从接口层面就加上限制
下面举个例子,如何绕过前端,发送超长字符
 
例如,如下的“活动名称”前端限制输入50个字符

 1、针对该请求打上断点

 2、打开Breakpoints Settings对该断点请求进行相关设置

双击一个请求,会弹出针对这个请求的断点编辑窗口

  将Query中的内容删除,输入*;
  如果修改Request数据,就将Request勾选;
  如果修改Response数据,就将Response勾选;
  这里只勾选Request

3、再次触发该请求,charles自动跳转到Breakpoints页面

切换到【Edit Request】标签,然后底部切换至text标签,修改请求内容

结果如下:

进一步,由于后端没有限制输入字符,那么我们修改name参数至很长很长,甚至超过数据库定义的字段长度,看看会发生什么

发现返回系统异常了,这里如果较真的话其实可以提一个接口bug,后端接口定义不够严谨

关于修改response其实和修改request类似,这里不再叙述了~

原文地址:https://www.cnblogs.com/hanmk/p/14403415.html