首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用Fiddler修改接口参数以及模拟服务器返回结果

接口接触多了想不想做些“小动作”,我们修改请求参数和修改返回参数,或许可以模拟所需要的请求参数和返回结果。使用修改请求参数,则目的是为了绕过前端的限制,查看接口是否做了符合要求的相应限制;有些场景,当接口还没有写完,前端代码已经写完了,那么前端的小伙伴如果想看看接口返回各种信息前端的提示框显示样式,以便于提前调试。fiddler就提供了多种修改参数信息。

一、我们先说说修改请求参数

设置代理后,我们抓取到接口,在请求列表中找到你想要的请求接口然后右击,选择Replay---Reissue and Edit,进入对这个请求的编辑状态。

看上图我们就可以在请求体框中开始编辑请求信息,可以编辑任何信息。实际上他是重新创建了一个新的请求,请求内容是拷贝了你原来请求信息。只是在发送请求是做了断点,给你时间去做编辑,完成编辑后点击Run to Completion就可以按照你修改的请求信息重新对这个接口发送一次请求。本次发送请求返回数据则不在你操作的客户端显示。

修改请求就是那么简单,那么我们用他能做什么操作。我这里举几个例子。

1、如果企业有电商,我们抓取到下单接口,下单时,前端页面操作商品价格传参是固定的我们没法手动修改。这里我们就可以办到修改价格,抓取到接口后,按照上面的操作步骤,我们修改商品价格,修改时候注意字段,有些接口如果只是做了总价和单价的匹配,那么我们修改时让总价和单价符合要求,主要查看修改价格后下单是不是成功。下单时候的单价有没有和数据库商品的单价做对比。如果修改成功,下单成功,那么支付时也是修改后的价格,这对企业来说就相当严重的问题。

2、有些接口可以获取用户信息,如果接口只要输入user Id,那么我们修改userId查看是否能获取相关数据。一般userId都是long型的一串数字。基本都是自增或者有一定的规律,很容输入别人的userId。如果能获取到信息那么存在信息泄露的严重问题,当一个应用不能确保用户隐私的安全性,那么这个应用还能在市场上长久么?

解决办法有很多,创建订单的接口,去数据库对比商品单价,如果考虑数据库性能问题,可以将请求参数做MD5加密等

二、下面我们来说说怎么模拟服务器修改返回值。

2、也可以在菜单中选择Rules--Automatic Breakpoints--after Responses

大家可以看下面的图,添加断点有两种方式:

a)BeforeRequests,请求前,这是对接口做拦截后,修改请求参数,服务器接受的就是你修改后的请求参数,处理后将处理结果返回出来。

b)AfterResponses 返回后,这是对服务器接受请求后,处理完成将处理结果返回到客户端做拦截。拦截后我们可以修改返回值。

还记得上面的编辑接口重新发送么。我们编辑后重新发送。是另起一个请求,这样导致上一个请求已完成,客户端不会显示编辑后的请求返回信息。如果用这个断点修改参数,前段就可以看到服务器返回结果。

3、这下我们可以抓取接口,抓到后我们先要点击蓝框区域解锁

4、修改msg里面的返回数据,可以查看客户端的返回信息。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G1M7E700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券