由于开发者的疏忽造成的业务逻辑漏洞
代码
<?php
$passwd="admin"; //模拟数据库存储的密码
$pwd=@$_GET["p"]; //@屏蔽错误,易错符
if($pwd==$passwd){
echo "welcome to system";
}else{
echo "please login";
}
?>
url 中只要输入 ?p=admin 即可以登陆成功
代码中加一个 或 选项
<?php
$passwd="admin"; //模拟数据库存储的密码
$pwd=@$_GET["p"]; //@屏蔽错误,易错符
if($pwd==$passwd or $_GET["user"]=="root"){
echo "welcome to system";
}else{
echo "please login";
}
?>