<aside> 💡 Notion Tip: PHP.

</aside>

变量覆盖

值对比

<?php
var_dump("admin"==0);  //true
var_dump("1admin"==1); //true
var_dump("admin1"==1) //false
var_dump("admin1"==0) //true
var_dump("0e123456"=="0e4456789"); //true
?>

上述代码,第一个把字符串强制转化为0,第二个会默认取字符串的首值,强转为1,第三个和第二个相反,取到的首值为字符串,直接强转为0,最后一个被转化为了科学计数,0的N次方,是0

ASCII值比较

"Hello" < "hello"

H=72,h=104

md5碰撞

函数特性

define('Flag', 'azhen{THIS_IS_FLAG}');
if ($_GET['s1'] != $_GET['s2'] && md5($_GET['s1']) == md5($_GET['s2'])) {
	echo "Success, flag:" . FLAG;
} else {
	echo "ERROR";
}