题目阅读
题目如下:

题目代码如下:
<?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");
}
if($password==$_SESSION['password']){
echo $flag;
}else{
echo "error";
}
?>
和web10差不多,一开始我以为只是给了代码片段,用御剑扫描无果(好吧其实是字典太拉了),我以为是SQL注入但是这点代码猜半天注入无果,一开始我以为$_SESSION['password']是接收的post用户输入的passwrod但是没想到是我PHP没学好大意了,后面假设$password是用户输入,那么我们只需要清除浏览器会话cookie即可登录成功。
文章讨论了一个PHP代码片段,看似SQL注入防护,实则在用户登录环节存在安全漏洞。通过清除浏览器会话cookie,可以绕过密码验证。
1万+

被折叠的 条评论
为什么被折叠?



