bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.

Broken Auth. - CAPTCHA Bypassing Level: Low

验证码绕过,本题验证码没有时间限制,所以提交一次验证码后,可以暴力破解用户名和密码了
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
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 . "'";

bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level: Medium
通过源码得知,在中级难度时,安全问题会发送邮箱。
$content = "Hello " . ucwords($login) . ",\n\n"; $content.= "Your secret: " . $secret . "\n\n"; $content.= "Greets from bWAPP!";

Level: High
在最高难度时,会将sha1的随机哈希值发送到邮箱,通过安全问题找回页面重置安全问题
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Broken Auth. - Insecure Login Forms Level: Low
查看网页源文件,找到了用户名和密码
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level: Medium
查看网页源文件,找到了用户名 brucebanner,也找了一段js脚本
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
可以通过浏览器工具-> 控制台中复制这段js代码即可
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
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爆破即可
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:Medium
中级难度加了一个随机盐值
因为盐值没有时间限制,同样可以进行爆破,但需要每次请求先获取道salt的值。
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level: High
高级难度加了图片验证码
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
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即可
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:Medium
修改Cookie中的admin值为1即可
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:High
如果有本事,去需要修改session中的admin值为1吧。
或者直接用管理员账号bee/bug登录也可以。
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Session Mgmt. - Cookies (HTTPOnly) Level: Low
Cookies中httponly字段设置为false
点击 Click Here ,本地JS脚本可以直接访问到top_security这个变量值
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level: Medium
Cookies中httponly字段设置为true
点击Click Here,本地JS脚本无法访问top_security变量值了
通过服务器端是可以直接访问的
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:High
Cookies中httponly字段设置为ture,同时缩短了cookies的生存时间
与中级难度的区别在于,调整了Cookie的生存时间,仅有300秒(5分钟)
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Session Mgmt. - Cookies (Secure) Level:Low
可以看到,在这个级别的难度httponly已经设置为true,
通过Session Mgmt. - Cookies (HTTPOnly)的页面,点击Click Here,本地JS脚本无法访问top_security
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:Medium
中级难度时,需要在SSL下Cookies才会有效
使用SSL后, top_security改为maybe
切换回非SSL时,可以看到服务器不会返回 top_security的值
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
--我是分隔符--
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
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处理
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
Level:High
【bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.】在非SSL情况下,看不到top_security_ssl的值
改用HTTPS后,可以观察到top_security_nossl
bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.
文章图片
至此,第二部分也写完了,关于HTTPS的问题,如果没有ssl证书,最简单的解决办法,请去下载bee-box的虚拟机镜像吧。

    推荐阅读