bWAPP学习笔记|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
通过源码得知,在中级难度时,安全问题会发送邮箱。
$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
没什么解法了,只剩下Broken Auth. - Logout Management 这个通过源码可以发现,Low/Medium/High三个级别的区别bee
/bug
了
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
退出登录时,Level:Mediumsession
没有销毁,可以账号依然有效
退出登录时,Level:Highsession
已经销毁,需重新登录
退出登录时,Broken Auth. - Password Attacks Level: Lowsession
先被清空,然后销毁,需要重新登录
使用Burp Suite爆破即可
文章图片
Level:Medium
中级难度加了一个随机盐值
因为盐值没有时间限制,同样可以进行爆破,但需要每次请求先获取道salt
的值。
文章图片
Level: High
高级难度加了图片验证码
文章图片
Broken Auth. - Weak Passwords 弱口令,没啥说的,挂字典吧。
Level:Low
test / testLevel: Medium
test / test123Level: High
test / Test123Session 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 Mgmt. - Strong Sessions
Session ID 永远不要暴露在URL中
本题主要是通过观察Level:Lowtop_security_nossl
和top_security_ssl
的情况,
来了解Session
的安全存储
没有任何安全可言Level:Medium
可以观察到top_security_nossl
的值是使用了HASH
处理
文章图片
Level:High
【bWAPP学习笔记|bWAPP学习笔记 - A2 Broken Auth. & Session Mgmt.】在非SSL情况下,看不到top_security_ssl
的值
改用HTTPS
后,可以观察到top_security_nossl
值
文章图片
至此,第二部分也写完了,关于
HTTPS
的问题,如果没有ssl
证书,最简单的解决办法,请去下载bee-box的虚拟机镜像吧。推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习