身份绕过漏洞

身份绕过漏洞

cookie






简单测试:

burp抓包或者浏览器使用hackbar插件(POST:multipart/from-data),cookie中加username,username不为空就登陆成功。

session

';
if($_GET['c']=='login'){
        if($_SESSION['username']==$username){
                echo "欢迎回来!{$_SESSION['username']}";
                
        }else{
                if($_POST['username']==$username && $_POST['password']==$password){
                        $_SESSION['username']=$username;
                        isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
                        setcookie('PHPSESSID', $PHPSESSID, time()+24 * 3600);
                        echo "登录成功 {$_SESSION['username']}";
                }else{
                        echo "帐号或者密码出错返回";
                }
                
        }
        
        

        
}else{
        echo"
"; echo"
"; echo"
"; echo""; echo "
"; } ?>

简单测试:

登录后查看生成的session文件。(直接访问http://xxx/tmp可以看到sessionid)

在新的浏览器上登录时,将PHPSESSID改为之前登录过的PHPSESSID就可以直接登录成功。

出现漏洞的情景:

服务器的的session-id存储在网站的其他目录,可通过目录扫描获取session文件。

若存放在数据库中,可以通过注入获取session信息。

你可能感兴趣的:(暗月笔记,php,运维,web安全)