DVWA靶场通关记录(暴力破解)

Low

 来到登陆页面,开代理,上burp。

随便输入用户名密码拦截

右键点击送到intruder破解器模块。

清除所有position,添加刚才输入的用户名和密码的position。

下面要说一下攻击类型。

bp的intruder模块提供了四种攻击类型,分别是:

1.Sniper(狙击手):单点爆破,一个payload对一个position进行爆破,适用于字典密码较少和攻击position单一的情况。

2.Battering ram(攻城锤):多点爆破,但是每个position使用同一个payload,就是说每个攻击位用的是同一套字典,每个位按顺序依次进行。

3.Pitchfork(音叉):多点爆破,但是每个position使用单独的payload平行爆破,例如,position1使用payload1,同时position2使用payload2,这种方式适用于有专门字典的情况,比如用户名位就用用户名字典,密码位就用密码字典,这样爆破起来效率更高。

4.Cluster bomb(集束炸弹):多点爆破,这种方式最耗时间,同时也是实战当中用的最多的方式,因为效率更高。每个攻击点位用不同的字典,将每个字典作笛卡尔积,也就是用每个字典互相之间生成的有序对进行爆破。比如position1的payload1有120条,position2的payload2有300条,那么做笛卡尔积就是120*300=36000条。

我们这里选用第四种。

 那么,上字典开始爆破。这里用的是github上的字典。

 开始攻击。

 这里有一点要注意,因为输入过滤了引号,所以无法实现注入,所以字典中带有单引号的数据的length与其他的不一样。

 经过漫长的跑字典,发现有一条的length不一样。一般length与其他大多数不同就说明成功了。

 试一下,成功登录。

 low级别的爆破成功。

Medium

这查看源代码之后发现,登陆失败会有两秒钟的sleep时间,也就是锁定时间,无法爆破。

但与low级别唯一的区别就是花费的时间较长,按照low级别的打法照样跑出来了。问题不大。

High

high级别的难度就大大提升了。

查看源代码,这回有token令牌验证输入。关于token的知识可以自行查阅资料,这里不多阐述

 上bp抓包,这里做一个简化,假设知道用户名而不知道密码的情况进行爆破,不然工作量太大。

 position选择密码和token

 密码部分还是上原来的字典,token部分比较复杂,下面来详细解释。

 选择options部分,下拉找到grep_extract部分,选择add添加。

这一操作是为了获取网页token令牌,根据密码特征值生成token。

选中第一次的token,确定

 来到payload2部分,这个点位就是token,选择递归查找(recusive grep)类型

 开始攻击,出现问题了。报错提示递归查询不能在多线程的情况下进行

 来到resource pool设置最大线程数为1

 再进行攻击,这回没有报错。

可以看到除了第一次的token是我们抓取的之外,后面的token都是按照特征值生成的。

显然,password一行的length长度不一,那么这就是我们要的答案了。

查看response,果然,成功登陆的提示就在http报文中

 那么,这个级别的brute force我们也完成了。

Impossible

查看源代码

 

 可以看出,使用的PDO技术验证和sleep()函数设置登陆失败冷却时间。

除此之外增加账户锁定机制防止爆破。

brute force部分就到这里了,欢迎交流和反馈。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值