难度:易
进入页面玩一会,抓包得到下面的内容:
发现了分数
和checkcode
提示要玩够1000000分,直接修改被拦截。
要寻找checkcode
的含义并伪造
至于tm
做多了就知道是时间戳了:
尝试在js中寻找checkcode:
发现可疑的部分:
body: 'score=' + parseInt(e).toString() + '&checkCode=' + md5(parseInt(e).toString() + t) + '&tm=' + ( + new Date).toString().substring(0, 10)
我们已经知道parseInt(e).toString()
是分数。至于这个t是什么还得分析分析。
在寻找过程中,代码往上分析发现:
再查找salt:
试试看这个是否是t
只需要使用md5(分数+t)
再于抓包中的checkcode
比较即可
发现相同,这样就伪造出了checkcode
再卡好时间戳的时间,就可以得到flag
构造1000000
分数:
卡好时间戳:
得到flag