web5
2025年4月30日小于 1 分钟
if(isset($v1) && isset($v2)){
if(!ctype_alpha($v1)){
die("v1 error");
}
if(!is_numeric($v2)){
die("v2 error");
}
if(md5($v1)==md5($v2)){
echo $flag;
}
}else{
echo "where is flag?";
}
若相等会把数字统一为相同类型进行比较
- 常见转换规则:
- 字符串与数字比较 → 字符串转为数字(如
"123" == 123
为true
)。 - 布尔值与字符串比较 →
true
转为1
,false
转为0
(如"1" == true
为true
)。 - 以
0e
开头的数字字符串 → 按科学计数法解析为0
(如"0e123" == "0e456"
为true
)。
- 字符串与数字比较 → 字符串转为数字(如
弱相等
==
会把科学计数法如0e12312313转化为0然后在进行比较
一下两个参数均为0e开头的科学计数法
?v1=QNKCDZO&v2=240610708
前面接上url再访问传参
即可获得flag
ctfshow{dc6590d6-3254-4ffe-85d0-fef338e775e7}