我在新浪云平台建了一个网站http://hitaow.sinaapp.com嗨淘网,登陆验证是这样验证的,我一直觉得有漏洞,帮我看看先。下面是登陆规则:
if($action=="login"){
$adminuser = var_request("username","");
$adminpass = md5(var_request("password","")); if($adminuser==$manage_adminname && $adminpass == $manage_adminpass ){
SetCookie("COOKIEadminuser", $adminuser); $_SESSION['adminuser'] = $adminuser;
redirect_to("main.php"); }else{
exit("<script language=\"JavaScript\">alert(\"用户名或密码错误,请重新输入!\");history.go(-1);</script>");
}
}为什么我在登陆页面输入账号1==1 or a不能绕过验证呢,输入什么才能绕过。
if($action=="login"){
$adminuser = var_request("username","");
$adminpass = md5(var_request("password","")); if($adminuser==$manage_adminname && $adminpass == $manage_adminpass ){
SetCookie("COOKIEadminuser", $adminuser); $_SESSION['adminuser'] = $adminuser;
redirect_to("main.php"); }else{
exit("<script language=\"JavaScript\">alert(\"用户名或密码错误,请重新输入!\");history.go(-1);</script>");
}
}为什么我在登陆页面输入账号1==1 or a不能绕过验证呢,输入什么才能绕过。
$adminpass = md5(var_request("password",""));if($adminuser==$manage_adminname && $adminpass == $manage_adminpass ){
SetCookie("COOKIEadminuser", $adminuser);
这里如果我在客户端自己构造一个cookie呢?
1==1 or a 这样的只是SQL注入,但是看你的脚本,不存在查询,所以没什么用处。一般的我们验证用户名和密码 是这样的。。select * from sometable where username='$username' and pwd='$password'而$username=$_POST["username"];如果用户输入:1' or 1='1 就变成了select * from sometable where username='1' or 1='1' and pwd='$password'