BWAPP|BWAPP A2 - Broken Auth . & Session Mgmt
1. Broken Auth. - CAPTCHA Bypassing
bp_captcha_bypass.php
验证码无时间限制
2. Broken Auth. - Forgotten Function
ba_forgotten.php
2.1 low
【BWAPP|BWAPP A2 - Broken Auth . & Session Mgmt】读取当前用户,发送 secret
文章图片
01.png 2.2 medium
安全问题发送邮箱
文章图片
02.png 2.3 high
会将 sha1 的随机哈希值发送到邮箱,通过安全问题找回页面重置安全问题
文章图片
03.png 3. Broken Auth. - Insecure Login Forms
不安全的登录表单
ba_insecure_login.php
3.1 low
页面源代码可以找到用户名和密码
3.2 medium
3.3 high
4. Broken Auth. - Logout Management
退出登录管理
ba_logout.php
文章图片
04.png 4.1 low
退出登录时,session 没有销毁,可以账号依然有效
4.2 medium
退出登录时,session 已经销毁,需重新登录
4.3 high
退出登录时,session 先被清空,然后销毁,需要重新登录
5. Broken Auth. - Password Attacks
密码破解
ba_pwd_attacks_1.php
5.1 low
bp爆破
5.2 medium
请求带了salt,带上salt继续爆破
5.3 high
图片验证码
6. Broken Auth. - Weak Passwords
弱密码
ba_weak_pwd.php
bp爆破
6.1 low
test / test
6.2 medium
test / test123
6.3 high
test / Test123
7. Session Mgmt. - Administrative Portals
会话管理。- 管理门户
smgmt_admin_portal.php
7.1 low
页面url,admin为1
文章图片
05.png 7.2 medium
修改cookie中admin的值为1
文章图片
06.png 7.3 high
修改 session 中的 admin 值为 1
文章图片
07.png 8. Session Mgmt. - Cookies (HTTPOnly)
smgmt_cookies_httponly.php
8.1 low
Cookies 中 httponly 字段设置为 true点击 Click Here,本地 JS 脚本无法访问 top_security 变量值了通过服务器端是可以直接访问的
8.2 medium
Cookies 中 httponly 字段设置为 ture, 同时缩短了 cookies 的生存时间与中级难度的区别在于,调整了 Cookie 的生存时间,仅有 300 秒(5 分钟)
8.3 high
可以看到,在这个级别的难度 httponly 已经设置为 true,通过 Session Mgmt. - Cookies (HTTPOnly) 的页面,点击 Click Here,本地 JS 脚本无法访问 top_security。
9. Session Mgmt. - Cookies (Secure)
smgmt_cookies_secure.php
9.1 low
可以看到,在这个级别的难度 httponly 已经设置为 true,通过 Session Mgmt. - Cookies (HTTPOnly) 的页面,点击 Click Here,本地 JS 脚本无法访问 top_security。
9.2 medium
中级难度时,需要在 SSL 下 Cookies 才会有效使用 SSL 后, top_security 改为 maybe切换回非 SSL 时,可以看到服务器不会返回 top_security 的值
9.3 high
在中级难度基础上增加了过期时间的限制
10.Session Mgmt. - Session ID in URL
smgmt_sessionid_url.php
10.1 low
10.2 medium
10.3 high
11. Session Mgmt. - Strong Sessions
本题主要是通过观察 top_security_nossl 和 top_security_ssl 的情况,来了解 Session 的安全存储
11.1 low
没有任何安全可言
11.2 medium
可以观察到 top_security_nossl 的值是使用了 HASH 处理
11.3 high
在非 SSL 情况下,看不到 top_security_ssl 的值改用 HTTPS 后,可以观察到 top_security_nossl 值
推荐阅读
- 14--Python|14--Python 面向对象进阶
- 全栈框架应用快速集成|全栈框架应用快速集成 Authing SSO
- Authing|Authing 团队管理 + Wechaty 机器人 = 无限可能
- 你可能想要集成一个|你可能想要集成一个 Discourse 论坛(使用 Authing SSO 零代码帮你实现单点登录)
- 码农架构 | Spring Boot 实现通用 Auth 认证的 4 种方式
- spring|OAuth2授权客户端访问资源服务
- android-studio Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value
- POI|POI Excel 12 图形绘制
- The|The "Double-Checked Locking is Broken" Declaration 翻译
- Apache APISIX 结合 Authing 实现集中式身份认证管理