有一次,公司售后反馈客户售货机的部分商品被都以一分钱出售了好多件,没想到薅羊毛都搞到自家来了,客户很愤怒;查了原因,发现原来有些学生将我们小程序里的下单接口给篡改了,而我们的接口数据也没做加密,今天就以这个背景记录如何篡改数据。
一、断点类型
before requests
浏览器请求还没发给服务器,在代理这修改后,发送给服务器。
after requests
服务器返回的数据先在代理这被修改后,代理再将修改后的内容发送给浏览器。
二、全局断点
全局断点是对操作浏览器或App所有接口有效,也就是中断Fiddler捕获的所有请求。
1.before requests
1)在Fiddler里,按如下顺序点击rules-> automatic breakpoint ->before requests;
2)操作浏览器或App,看到Fiddler里左侧url的标识带有T标签说明断点设置成功
3)在Fiddler里找到需要修改的请求,点击Inspectors,再点击Webforms标签,修改指定的参数内容后,点击break on response“响应胆到了fiddler”,再点击Run to Completion“响应到了浏览器或App”;
4)查看浏览器或App该接口页面内容;
5)修改完成后,关闭断点操作,否则无法上网;点击rules-> automatic breakpoint ->disabled;
2. after requests
1)在Fiddler里,按如下顺序点击rules-> automatic breakpoint ->after requests;
2)操作浏览器或App,看到Fiddler里左侧url的标识带有T标签说明断点设置成功;
3)在Fiddler里找到需要修改的请求,点击Inspectors下Response区的 transform,去掉Chunked transfer-Encoding,勾选“None”,即可在TextView tab看到返回的html内容,修改相应的响应内容后,点击Run to Completion即可;
4)查看浏览器或App该接口页面内容;
5)修改完成后,关闭断点操作,否则无法上网;点击rules-> automatic breakpoint ->disabled;
PS:若想要这么多带T标签url里某一条可以正常发出,需要在Fiddler面板点击Go按钮即可。
三、单个断点
单个断点是对操作浏览器或App某一个接口有效。
1.before requests
1) 在命令行输入: bpu 接口地址,回车;
2)操作浏览器或App访问该接口页面;
3)修改操作省略。。。
4)命令行输入:bpu 回车,即可取消该接口断点操作;
2.after requests
1) 在命令行输入: bpafter 接口地址,回车;
2)操作浏览器或App访问该接口页面;
3)修改操作省略。。。
4)命令行输入:bpafter并回车,即可取消该接口断点操作;