• 偶然的错误发现一个bug,引人深思的null


    今天测接口的时候 很偶然的发现一个bug,先交代下游戏接口
    游戏战斗时会发送uid和登录token回去,这时候会返回一个参数叫storykey
    发送uid,token,返回storykey,战斗结果加上storykey再发回去,这是一次战斗流程,storykey只能被使用一次。
    然后我写代码的时候不小心多加了个引号,导致uid多了个引号,这样token和uid就对不起来了,服务器提示token错误,然后再发战斗结果和storykey(这个时候为null)回去,竟然返回了正确的战斗结果,更可怕的是,这个接口可以重复的使用,也就是达到重复战斗的目的

    bug原理:

     没获取storykey 然后storykey就等于Null。  用null   然后md5加密一个32位字符串     同样 因为获取storykey时候 key is wrong.所以服务器这边的storykey没有。 那也是null. 然后我拿一个null拼上战斗结果 加密。。  正好等于发过来的。   然后把storykey删除以后,下次发过来还是null  所以还能提交战斗。 
  • 相关阅读:
    git 去除对某个文件的版本控制
    10:08 小记
    写读书笔记
    恢复已删除且已添加至暂存区的文件
    第七周
    第六周
    软件测试
    短信获取
    Android-8
    增删改查
  • 原文地址:https://www.cnblogs.com/tester-huang/p/4632365.html
Copyright © 2020-2023  润新知