Brute Fource(暴力破解)
暴力破解一般是指穷举法,顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。理论上来说,只要字典足够庞大,枚举总是能够成功的!
但实际发送的数据并不像想象中的那样简单——“ 每次只向服务器发送用户名和密码字段即可!”,实际情况是每次发送的数据都必须要封装成完整的 HTTP 数据包才能被服务器接收。但是你不可能一个一个去手动构造数据包;
所以在实施暴力破解之前,我们需要先去获取构造HTTP包所需要的参数,然后扔给暴力破解软件构造工具数据包,然后实施攻击就可以了
一、low级别
1、尝试 admin’ or ‘1’='1
登录成功
二、medium级别
1、尝试 admin’ or ‘1’='1
登陆失败。
1、抓包分析
通过抓包对比发现两个包除了username和password不一样之外,其他的校验值都一样,所以可以尝试暴力破解。
2、尝试暴力破解,将包导入intrude模块
2.1、先清空参数
2.2、添加要破解的参数,我们选择用户名和密码。
四种暴力破解方式的区别:
一个字典,两个参数,先匹配第一项第二个参数不变,第一个参数不变再匹配第二项【sniper】保证必须有一项是对的
一个字典,两个参数,用户名和密码一样【battering ram】
两个字典,两个参数,同行匹配,到短的截止【pitch fork】
两个字典,两个参数,交叉匹配,所有可能【cluster bomb】
3、开始破解
3.1、用sniper方式
3.1.1、添加一些字典,也可以从外面导入。
3.1.2、开始破解
3.1.3尝试用用户admin 密码password登录,------------结果成功。
3.2用battering ram破解(要求账号和密码一样)
3.21、添加字典
3.2.2、开始破解
一般不会成功。
3.3用pitch fork破解
3.3.1、添加2个字典
3.3.2开始破解
3.4用cluster bomb破解
3.4.1、添加两个字典
3.4.2、开始攻击
三、high级别
1、用 admin’ or ‘1’='1 尝试不能成功
2、抓包分析
通过对比发现,多了一个变量user_token
3、采用pitch fork爆破
3.1、清除变量
3.2、选择变量
3.3、添加第一个字典
3.4、添加第二个字典
3.5、设置参数,在option选项卡中将攻击线程thread设置为1,因为Recursive_Grep模式不支持多线程攻击,然后选择Grep-Extract,意思是用于提取响应消息中的有用信息,点击Add,如下图进行设置。
3.6、给第二个字典添加初始值
4、开始爆破
5、尝试登陆-----------结果成功。