DVWA--暴力破解板块(低,中,高)

关于dvwa登录和burpsuite的一些使用

 

 

在使用burpsuite时候,注意,火狐的代理默认是localhost 、 127.0.0.1 不是用代理,需要把这里的内容删除.

 

 

Sniper  单个变量对应单个字典

Battering ram 多个变量对应一个字典

Pitchfork 多个变量对应多个字典

Cluster bomb 是 扫描1字典*2字典 次数,也就是username 和 password 的扫描完全独立

 

 

 

 

 步入正题

Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令

LOW

没有任何的防爆破机制,且对参数username、password没有做任何过滤,存在明显的sql注入漏洞

方法一:利用burpsuite进行破解

 

 

 

 

复制到intruder模块,因为要对password参数进行爆破,所以在password参数的内容两边加$

 

 

选中Payloads,载入字典,点击Start attack进行爆破

 

 

最后,尝试在爆破结果中找到正确的密码,可以看到password的响应包长度(length)跟其他的不一样,可推测password为正确密码,手工验证登陆成功。

 

 

方法二:

用户名:admin’#

密码可以不填       成功登陆

 

 

Medium

Medium级别的代码主要增加了mysql_real_escape_string函数,这个函数会对字符串中的特殊符号(x00,n,r,,’,”,x1a)进行转义

$pass做了MD5校验,杜绝了通过参数password进行sql注入的可能性

使用burpsuite进行破解(步骤与LOW一样)

 

 

 

 

 

 

 

 

 

 

High

 

 发现增加了user_token参数,所以爆破要选择两个参数来进行,先将请求发送到intruder

 

 

每次服务器返回的登陆页面中都会包含一个随机的user_token的值,用户每次登录时都要将user_token一起提交

同时,High级别的代码中,使用了stripslashes(去除字符串中的反斜线字符,如果有两个连续的反斜线,则只去掉一个)、 mysql_real_escape_string对参数username、password进行过滤、转义,进一步抵御sql注入。

推荐使用 python 编写脚本来实时的获取 token 的值(但是在网上找到了使用burpsuite来操作的,请看下面)

设置两个参数 password和user_token为变量,攻击类型选择pitchfork,意思是草叉模式(Pitchfork )——它可以使用多组Payload集合,在每一个不同的Payload标志位置上(最多20个),遍历所有的Payload

 

 

设置参数,在option选项卡中将攻击线程thread设置为1,因为Recursive_Grep模式不支持多线程攻击,然后选择Grep-Extract,意思是用于提取响应消息中的有用信息,点击Add,如下图进行设置,最后将Redirections设置为Always

 

 

 

 

写上value=’  点击刷新相应信息   服务器返回的token选中(即value后面,表示每次从响应中获取该值)

 

 

将这个token 值先记录下来

a5f168e741600adb87c761ac45d016dd

然后设置payload,设置第一个参数载入字典,第二个参数选择Recursive grep,然后将options中的token作为第一次请求的初始值。

 

 

 

 

点击start attack攻击爆破,结果成功爆破

 

还有就是用python脚本进行的爆破,网上也有很多,因为我还没有学过这个方面知识,这里就不在演示

posted @ 2020-02-12 11:43  gxy*  阅读(487)  评论(0编辑  收藏  举报