今天的XUSTSEC的CTF比赛中web第七题,给的源码如下
意思就是,能够有一个字符串的MD5值等于0就可以得到FLAG。
但是,众所周知,MD5值都是32位,所以很难为0。
不过,我们可以发现,这里使用的比较是==
而不是全等于===
。
关于这两种比较方式的区别,大家可以去看看Chu牛的博客:
PHP 弱类型带来的安全问题
这里面有详细的解释。
从上可知,我们需要找到一个以0e开头的纯数字的MD5。。
一开始,觉得,。。。这游戏能玩?!
。
。
。
直到,我从盘神那里得知了一种东西叫做Magic Hash
Magic Hash
由这个Magic Hash(240610708
)得出的MD5值为
0e462097431906509019562988736854
这尼玛!玩密码学的真是太赞(脏)了!
文章评论