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_nossl和top_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的虛擬機鏡像吧。