分享纲要:
1.测试通过加密通道传输的凭证
2.测试默认凭证
3.测试弱锁定机制
4.绕过验证模式进行测试
5.测试记住密码功能
6.测试浏览器缓存弱点
7.测试弱密码策略
8.测试弱安全性问题/答案
9.测试弱密码更改或重置功能
1.测试通过加密通道传输的凭证
在以下示例中,我们将使用Burp Suite捕获数据包标头并检查它们。
示例1:通过HTTP使用GET / POST方法发送数据
假设登录页面显示了一个带有“用户名”,“密码”字段和“提交”按钮的表单,以对应用程序进行身份验证并授予访问权限。
所以数据在没有加密的情况下传输,恶意用户可以通过简单地使用Wireshark等工具嗅探网络来拦截用户名和密码
示例2:通过HTTPS使用GET / POST方法发送数据
假设我们的Web应用程序使用HTTPS协议来加密我们发送的数据(或至少用于传输敏感数据,如证书)。 在这种情况下,当登录到Web应用程序时,我们的POST请求的标题与以下内容类似:
示例3:在通过HTTP可访问的页面上通过HTTPS使用GET / POST方法发送数据
想象一下,我们有一个可通过HTTP访问的网页,并且只有通过HTTPS传输认证表单发送的数据
我们可以看到,我们的请求使用HTTPS发送到www.example.com/login。但是,如果我们看一下Referer-header,它就是www.example.com/并且可以通过简单的HTTP访问。尽管我们通过HTTPS发送数据,但这种部署可能会允许SSLStrip攻击(一种中间人攻击)
您可以看到数据在URL中以明文形式传输,而不在请求的正文中传输。但是我们必须考虑SSL / TLS是一个5级协议,比HTTP更低,所以整个HTTP数据包仍然被加密,使得使用嗅探器的恶意用户无法读取URL。尽管如此,如前所述,使用GET方法将敏感数据发送到Web应用程序并不是一个好习惯,因为URL中包含的信息可以存储在许多位置,例如代理和Web服务器日志。
2.测试默认凭证
如何测试
测试常见应用程序的默认凭据
- 尝试默认用户名,例如:admin,administrator,root,system,guest,operator,superuser
应用程序管理用户通常以应用程序或组织命名。 这意味着如果您正在测试名为“ABC”的应用程序,请尝试使用abc / abc或任何其他类似的组合(如用户名和密码)。
使用上面的用户名和空密码。
查看页面源代码和JavaScript,查找注释中写入的帐户名称和密码。
检查包含用户名和密码的配置文件。
检查密码提示。
测试新帐户的默认密码?
工具
Burp Intruder
Hydra
Nikto
Medusa
参考
CIRT http://www.cirt.net/passwords
3.测试弱锁定机制
帐户锁定机制用于缓解暴力密码猜测攻击。通常在3到5次不成功的登录尝试后帐户被锁定,并且只能在预定的时间段后,通过自助服务解锁机制或管理员干预才能解锁。帐户锁定机制需要在保护帐户免受未经授权的访问和防止用户被拒绝授权访问之间取得平衡。
测试目标
评估帐户锁定机制减轻暴力密码猜测的能力
评估解锁机制对未授权帐户解锁的抵制。
如何测试
使用Burp Intruder&Burp Repeater
审视源代码
确保网站有帐户锁定政策 -一定数量的失败登录后账户会被锁定
确保应用程序响应限制用户超时并验证有限超时是否正确
确保应用程序在用户接近锁定线程时提醒用户
CAPTCHA可能会妨碍暴力攻击,但它们无法取代锁定机制。
尝试旁路锁定超时
列出解锁网站账户的所有方法,确保它们安全
相关文章
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。