有代码如下:
if(isset($_POST['message'])) {
$message = json_decode($_POST['message'])
$key = "*******"; // 保密
if($message->key == $key) {
echo "flag";
}else{
echo "fail";
}
}else {
echo "~~~~"
}
由于$key是字符串,用“==”时,如果$message->key是数字,那么无论$key是什么,都会转换为数字,例如假设$key为"admin",那么转换成数字就是0,如果是"2admin",那么转换成数字就是2
因此攻击者就会利用这么弱点,大胆猜测,传入参数0,如果相等,则获取flag,如果不等,则需要尝试更多的可能,最有效的方法就是使用BurpSuite进行爆破