修改request
对于某些限制输入字符数的输入框,一般前端会加上限制,通过抓包其实可以绕过前端校验的,所以更严谨的做法是从接口层面就加上限制
下面举个例子,如何绕过前端,发送超长字符
例如,如下的“活动名称”前端限制输入50个字符
1、针对该请求打上断点
2、打开Breakpoints Settings对该断点请求进行相关设置
双击一个请求,会弹出针对这个请求的断点编辑窗口
将Query中的内容删除,输入*;
如果修改Request数据,就将Request勾选;
如果修改Response数据,就将Response勾选;
这里只勾选Request
3、再次触发该请求,charles自动跳转到Breakpoints页面
切换到【Edit Request】标签,然后底部切换至text标签,修改请求内容
结果如下:
进一步,由于后端没有限制输入字符,那么我们修改name参数至很长很长,甚至超过数据库定义的字段长度,看看会发生什么
发现返回系统异常了,这里如果较真的话其实可以提一个接口bug,后端接口定义不够严谨
关于修改response其实和修改request类似,这里不再叙述了~