L1E6N0A2

监督自己不断学习

0%

每日一题3-19

每天一道CTF,日积月累,期待进步!

弱类型比较

弱类型比较

==:等号两边类型不同,会转换成相同类型再比较。当一个字符串与数字比较时,会把字符串转换成数字,具体是保留字母前的数字。例如123ab7c会转成123,ab7c会转成0.(字母前没数字就是0)

===:如果类型不同就直接不相等了。

1
"0e123456"=="0e456789",0e这类字符串识别为科学技术法的数字,0的无论多少次方都是零,所以相等

应用md5绕过

1
if (md5($Username) != md5($password)) {$logined = false;}

题目大意是要输入一个字符串和数字类型,并且他们的md5值相等,就可以成功执行下一步语句 。md5开头是0e的字符串有:QNKCDZO;s878926199a;s155964671a;s214587387a;s214587387a;s878926199a;240610708。上文提到过,0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。

md5(‘240610708’) == md5(‘QNKCDZO’)成功绕过!

正则表达式

注意第14个和第15个

a1