d打开靶机,直接有源码
查看一下
<?php
//过滤了如下关键字
function replaceSpecialChar($strParam){
$regex = "/(select|from|where|join|sleep|and|\s|union|,)/i";
return preg_replace($regex,"",$strParam);
}
//密码进行长度对比,防止双写绕过
if(strlen($password)!=strlen(replaceSpecialChar($password))){
die("sql inject error");
}
//绕过关键点:密码和session中存的密码进行对比
//所以直接删除掉本地session,即本地session为空,所以密码为空即可绕过,获得flag
if($password==$_SESSION['password']){
echo $flag;
}else{
echo "error";
}
?>
直接删除本地session
然后密码为空,获得flag
flag:ctfshow{f5b2493c-1c67-4ac4-9bb9-7b3a55b36d4f}