实验吧-忘记密码了&天网管理系统

解题方案网上已经有一堆了,这里主要总结下get到的知识点。php

一、php中的字符串比较code

当php进行一些数学计算的时候,当有一个对比参数是整数的时候,会把另一个参数强制转换为整数。注:bool类型的true跟任意字符串能够弱类型相等blog

例如:token

var_dump(0 == '0'); // true
var_dump(0 == 'abcdefg'); // true 
var_dump(0 === 'abcdefg'); // false
var_dump(1 == '1abcdef'); // true

又以下图"忘记密码了"一题中,须要两个条件:token长度为10,且等于0,同时emailAddress也要知足相应条件。字符串

token要想长度为10,且等于‘0’,再考虑到php的数学计算的特性(PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每个以”0E”开头的哈希值都解释为0,因此若是两个不一样的密码通过哈希之后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。),因此构造token=0e11111111便可。get

相关文章
相关标签/搜索