暴力破解产生是由于服务器没有对接收的参数进行限制,导致攻击者可以通过暴力手段进行破解所需要的信息(如账号,密码,验证码等)
原理
暴力破解的原理就是穷举法,其基本思想是根据部分条件确定已知条件的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕
分类
B/S架构
B/S架构即浏览器/服务器结构(以WEB应用为例)
一般目标为后台管理员页面
对B/S架构进行破解常用BurpSuite等工具
C/S架构
C/S架构即客户端/服务器结构(以数据库为例)
数据库一般都有最高权限账户,如MySQL的root账户,Oracle的System账户
对C/S架构进行破解常用Hydra,,Medusa等工具
暴力破解方式
B/S架构
-
首先,将BurpSuite抓到的包发送到Intruder模块
![image]()
-
在Positions选项卡中配置爆破方式以及爆破位置
-
在Payload选项卡中设置Payload并添加字典
![image]()
-
通过综合对比Status和Length来确定是否爆破成功
C/S架构
hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvVd46] [service://server[:PORT][/OPT]]
medusa [-h 主机| -H 文件] [-u 用户名| -U 文件] [-p 密码| -P 文件] [-C 文件] -M 模块[OPT]
BurpSuite
- Sniper 对变量依次进行破解
- Battering 对变量同时破解
- Pitch fork 每个变量对应一个字典,依次破解
- Cluster bomb 每个变量对应一个字典,交替破解,尝试每种组合
Medusa
-h [TEXT] 目标IP
-H [FILE] 目标主机文件
-u [TEXT] 用户名
-U [FILE] 用户名文件
-p [TEXT] 密码
-P [FILE] 密码文件
-C [FILE] 组合条目文件
-O [FILE] 文件日志信息
-e [n/s/ns] N意为空密码,S意为密码与用户名相同
-M [TEXT] 模块执行名称
-m [TEXT] 传递参数到模块
-d 显示所有的模块名称
-n [NUM] 使用非默认端口
-s 启用SSL
-r [NUM] 重试间隔时间,默认为3秒
-t [NUM] 设定线程数量
-L 并行化,每个用户使用一个线程
-f 在任何主机上找到第一个账号/密码后,停止破解
-q 显示模块的使用信息
-v [NUM] 详细级别(0-6)
-w [NUM] 错误调试级别(0-10)
-V 显示版本
-Z [TEXT] 继续扫描上一次
Hydra
-R 继续从上一次进度接着破解
-S 采用SSL链接
-s PORT 指定非默认服务端口
-l LOGIN 指定用户名破解
-L FILE 指定用户名字典
-p PASS 指定密码破解
-P FILE 指定密码字典
-y 爆破中不使用符号
-e [nsr] "n"尝试空密码, "s"尝试指定密码,"r"反向登录
-C FILE 使用冒号分割格式,例如"登录名:密码"来代替-L/-P参数
-M FILE 每行一条攻击的服务器列表, ':'指定端口
-o FILE 指定结果输出文件
-w 设置最大超时的时间,单位秒,默认是30s
-t 设置运行的线程数,默认是6
-v 显示详细过程
server 目标IP
漏洞修复
- 使用高级验证码进行登录验证(比如图形验证码)
- 对用户输入错误密码次数进行限制
- 对尝试多次登录并且登录失败的IP进行封禁
用户 - 不使用弱口令密码
MS08067安全实验室
Frieza


浙公网安备 33010602011771号