目录
正常情况下,我们通过抓包修改前端的请求,返回我们测试想要的结果。但有时候,如果后端处理不充分,或者是逻辑处理有问题:
1、返回请求参数修改
具体修改的参数:
Result 返回结果:从false改成True。
ErrorCode 如果你其他正常请求返回包有代码的可以替换,如果不清楚直接设置为空值
ErrorMsg 如果你其他正常请求返回包有代码的可以替换,如果不清楚直接设置为空值
上面修改完成,直接发送请求, 如果跳转的页面没有对前端的页面请求做鉴权的,直接识别返回的请求参数,这种情况下就直接绕过跳转到下个你想要的页面。(修改密码,设置密码啥的?)
2、返回请求整体被替换
这种情况遇到的不多,但也会遇到,这边其实也是一样会发生在注册或者激活页面,当然其他页面也可能存在这种情况。但即时用了,没有太大实质性的意义。
下面图片只是一个事例,实际不一定存在,我这边就是拿来举个例子。
第一种情况:
上面登录成功后,会获得正常登录的请求:
上面这种情况,整体的替换效果基本没什么效果。
第二种情况:
其实是参考前面result参数值,然后直接跳转到主页面情况。如果是这种情况 下,上面主页面的用户名/密码啥的可以随便填写,抓包修改返回请求的时候,截断返回请求将上面这种正常的请求全部替代直接跳转到主页面。比较危险!!!
3、修复方案
1. 针对第一种情况,页面间需要做鉴权处理。正常判断值不能仅仅依据返回的值来处理。。
2. 针对第二种情况。其实返回请求,处理了两个逻辑:1.验证接口出入的值的正确与否。2. 页面跳转。这边可以进行分开处理,同时加上第一种情况的鉴权。