2.2-1 暴力破解原理和测试流程(Av96582332,P2)
暴力破解漏洞解析-目录
l
暴力破解攻击 暴力破解漏洞概述
l
暴力破解漏洞测试流程
l
基于表单的暴力破解攻击(基于 burp suite
l
暴力破解之不安全的验证码分析
---
on client
---
on server
l
Token 可以防暴力破解吗?
l
暴力破解常见的防范措施
一个有效的字典,可以大大的提高暴力破解的效率
l
常用的账号密码(弱口令),比如常用用户名 密码 TOP 500 等。
l
互联网上被脱裤后账号密码(社工库),比如 CSDN 当年泄漏的约 600w 用户信息。
l
使用指定的字符使用工具按照指定的规则进行排列组合算法生成的密码。
如果一个网站没有对登录接口实施防暴力破解的措施,或者实施了不合理的措施。
则该称该网站存在暴力破解漏洞。
ü
是否要求用户设置了复杂的密码;
ü
是否每次认证都使用安全的验证码;
ü
是否对尝试登录的行为进行判断和限制;
ü
是否在必要的情况下采用了双因素认证;
等等。
存在暴力破解漏洞的网站可能会遭受暴力破解攻击,但该暴力破解攻击
成功 的可能性并不是 100% !
所以有些网站即虽然存在暴力破解漏洞,但其管理员可能会忽略它的危害。
但作为一个搞安全的,我们应该在系统设计的时候,就应该讲这些措施加入到对应的认证场景中
绝不能为了妥协开发人员或者业务人员
有半点侥幸心里 否则被干
暴力破解漏洞测试流程
1
确认登录接口的脆弱性
确认目标是否存在暴力破解的漏洞。(确认被暴力破解的“可能性”)
比如:尝试登录
抓包 观察验证元素和 response 信息,判断否存在被暴力破解的可能。
2
对字典进行优化
3
工具自动化操作
根据实际的情况对字典进行优化,提高爆破过程的效率。
配置自动化工具(比如线程、超时时间、重试次数等),进行自动化操作。
字典优化技巧
技巧一:
根据注册提示信息进行优化
对目标站点进行注册,搞清楚账号密码的一些限制,比如目标站点要求密码必须是
6 位以上,字
母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码。
技巧二:
如果爆破的是管理后台,往往这种系统的管理员是
admin/administrator/root 的机率比较高,
可以使用这三个账号 随便一个密码,尝试登录,观看返回的结果,确定用户名。
比如:
ü
输入 xxx/yyyf 返回“用户名或密码错误”;
ü
输入 admin/yyy 返回“密码错误”,则基本可以确定用户名是 admin
因此可以只对密码进行爆破即可,提高效率。
3.2-2 基于表单的暴力破解实验演示及burpsute使用介绍(Av96582332,P3)
Intruder
模块可以通过对 http request 的数据包以变量的方式自定义参数,然后根据对应策略进行自
动化的重放。常用于自动化猜测 暴力破解过程中。
intercept is on 关掉,不拦截,(但会记录访问过程,从http history找记录用)
没有验证码,ok。抓登陆post,发inturder,playloads,ploadsets选runtime file,加载username.txt
对playload的里面特殊字符,是否需要进行url编码,默认就行
并发数;失败重试几次;请求间隔时间
第0个数据包是原封不动的发过去
登陆错误的提示是username or password is not exists~
清掉,加上错误提示作标记,测试有标记的就是失败的,没有就是成功的;长度和其他不一样的,很有可能是成功的(选中加$$的包含部分,点击clear,可单独清除,不会全部清掉)
最终选Cluster bomb,加载用户名、密码这两个playload set
runtime路径中如果有中文名,不能加载成功,测试playload都是空,千万注意!!!