美文网首页hacker
bWAPP学习笔记 - A2 Broken Auth. & Se

bWAPP学习笔记 - A2 Broken Auth. & Se

作者: 开口海螺 | 来源:发表于2019-05-07 22:26 被阅读0次

    Broken Auth. - CAPTCHA Bypassing

    Level: Low

    验证码绕过,本题验证码没有时间限制,所以提交一次验证码后,可以暴力破解用户名和密码了

    Level:Medium / High

    方法如上,依然可以暴力破解


    Broken Auth. - Forgotten Function

    Level: Low

    在源码中使用了mysqli_real_escape_string()函数,进行了防sql注入验证
    只能通过暴力破解邮箱了,挂上你的字典试试看吧~~~
    邮箱正确了,会提示你的安全问题,也不会直接显示密码。

    $email = mysqli_real_escape_string($link, $email);
    $sql = "SELECT * FROM users WHERE email = '" . $email . "'";
    
    Level: Medium

    通过源码得知,在中级难度时,安全问题会发送邮箱。

    $content = "Hello " . ucwords($login) . ",\n\n";
    $content.= "Your secret: " . $secret . "\n\n";
    $content.= "Greets from bWAPP!";
    
    Level: High

    在最高难度时,会将sha1的随机哈希值发送到邮箱,通过安全问题找回页面重置安全问题


    Broken Auth. - Insecure Login Forms

    Level: Low

    查看网页源文件,找到了用户名和密码

    Level: Medium

    查看网页源文件,找到了用户名 brucebanner,也找了一段js脚本

    可以通过浏览器工具-> 控制台中复制这段js代码即可

    Level: High

    没什么解法了,只剩下 bee/bug


    Broken Auth. - Logout Management

    这个通过源码可以发现,Low/Medium/High三个级别的区别

    switch($_COOKIE["security_level"])
    { 
        case "0" :       
            // Do nothing
            break;  
        case "1" :               
            // Destroys the session        
            session_destroy();        
            break;  
        case "2" :                         
            // Unsets all of the session variables
            $_SESSION = array();
            // Destroys the session    
            session_destroy();    
            break;
        default :
            // Do nothing
            break;
    }
    
    Level: Low

    退出登录时,session没有销毁,可以账号依然有效

    Level:Medium

    退出登录时,session已经销毁,需重新登录

    Level:High

    退出登录时,session先被清空,然后销毁,需要重新登录


    Broken Auth. - Password Attacks

    Level: Low

    使用Burp Suite爆破即可

    Level:Medium

    中级难度加了一个随机盐值
    因为盐值没有时间限制,同样可以进行爆破,但需要每次请求先获取道salt的值。

    Level: High

    高级难度加了图片验证码


    Broken Auth. - Weak Passwords

    弱口令,没啥说的,挂字典吧。

    Level:Low

    test / test

    Level: Medium

    test / test123

    Level: High

    test / Test123


    Session Mgmt. - Administrative Portals

    Level: Low

    直接修改URL中的admin值为1即可

    Level:Medium

    修改Cookie中的admin值为1即可

    Level:High

    如果有本事,去需要修改session中的admin值为1吧。
    或者直接用管理员账号bee/bug登录也可以。


    Session Mgmt. - Cookies (HTTPOnly)

    Level: Low

    Cookies中httponly字段设置为false
    点击 Click Here ,本地JS脚本可以直接访问到top_security这个变量值

    Level: Medium

    Cookies中httponly字段设置为true
    点击Click Here,本地JS脚本无法访问top_security变量值了
    通过服务器端是可以直接访问的

    Level:High

    Cookies中httponly字段设置为ture,同时缩短了cookies的生存时间
    与中级难度的区别在于,调整了Cookie的生存时间,仅有300秒(5分钟)


    Session Mgmt. - Cookies (Secure)

    Level:Low

    可以看到,在这个级别的难度httponly已经设置为true,
    通过Session Mgmt. - Cookies (HTTPOnly)的页面,点击Click Here,本地JS脚本无法访问top_security

    Level:Medium

    中级难度时,需要在SSL下Cookies才会有效
    使用SSL后, top_security改为maybe
    切换回非SSL时,可以看到服务器不会返回 top_security的值

    --我是分隔符--

    Level:High

    与上题一样,在中级难度基础上增加了过期时间的限制


    Session Mgmt. - Session ID in URL

    三个等级的难度都一样
    Session ID 永远不要暴露在URL中


    Session Mgmt. - Strong Sessions

    本题主要是通过观察top_security_nossltop_security_ssl的情况,
    来了解Session的安全存储

    Level:Low

    没有任何安全可言

    Level:Medium

    可以观察到top_security_nossl的值是使用了HASH处理

    Level:High

    在非SSL情况下,看不到top_security_ssl的值
    改用HTTPS后,可以观察到top_security_nossl


    至此,第二部分也写完了,关于HTTPS的问题,如果没有ssl证书,最简单的解决办法,请去下载bee-box的虚拟机镜像吧。

    相关文章

      网友评论

        本文标题:bWAPP学习笔记 - A2 Broken Auth. & Se

        本文链接:https://www.haomeiwen.com/subject/oiluoqtx.html