bWAPP學習筆記 - A2 Broken Auth. & Session Mgmt.

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

通過源碼得知,在中級難度時,安全問題會發(fā)送郵箱。

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

在最高難度時,會將sha1的隨機哈希值發(fā)送到郵箱,通過安全問題找回頁面重置安全問題


Broken Auth. - Insecure Login Forms

Level: Low

查看網頁源文件,找到了用戶名和密碼

Level: Medium

查看網頁源文件,找到了用戶名 brucebanner,也找了一段js腳本

可以通過瀏覽器工具-> 控制臺中復制這段js代碼即可

Level: High

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


Broken Auth. - Logout Management

這個通過源碼可以發(fā)現,Low/Medium/High三個級別的區(qū)別

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的生存時間
與中級難度的區(qū)別在于,調整了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的虛擬機鏡像吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容