DVWA系列(三)----Brute Force(暴力(破解))

一、攻击模块1:Brute Force(暴力破解)

 

暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。

 

 

 

 

二、源码分析(文件地址:./DVWA/vulnerabilities/brute/source/low.PHP

 

 

 

 

[html]  view plain  copy
 
  1. <?php   
  2.   
  3. if( isset( $_GET[ 'Login' ] ) ) {   
  4.     // Get username   
  5.     $user = $_GET[ 'username' ];   
  6.   
  7.     // Get password   
  8.     $pass = $_GET[ 'password' ];   
  9.     $pass = md5( $pass );   
  10.   
  11.     // Check the database   
  12.     $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";   
  13.     $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );  
  14.   
  15.     if( $result && mysqli_num_rows( $result ) == 1 ) {   
  16.         // Get users details   
  17.         $row    = mysqli_fetch_assoc( $result );   
  18.         $avatar = $row["avatar"];   
  19.   
  20.         // Login successful   
  21.         echo "<p>Welcome to the password protected area {$user}</p>";   
  22.         echo "<img src=\"{$avatar}\" />";   
  23.     }   
  24.     else {   
  25.         // Login failed   
  26.         echo "<pre><br />Username and/or password incorrect.</pre>";   
  27.     }   
  28.   
  29.     ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);   
  30. }   
  31.   
  32. ?>   



 

通过观察这个模块的源代码,可以看到,这是一个典型的万能密码。

 

 

三、实战爆破

 

1.我们首先配置好burpsuite的本地代理。

 

在Login中输入用户名与密码

 

 

然后用burpsuite进行拦截

 

 

 

2.将表单进行提交到intruder模块,并将password设置为我们破解的payload

 

 

然后在Position选项中设置需要破解的变量。Burpsuite会自动设置许多变量,单击“Clear”按钮,把默认变量全部清除,然后选中密码123,单击“Add”按钮将之设为需要破解的变量。

 

 

3.设置字典文件。

 

3.1.使用自带的字典

 

 

3.2.加载外部字典

 

 

点击Load,选择字典文件路径

 

 

 

4.开始枚举,得到密码。

 

Burp suite攻击类型:

 

 

 

第一种:
Sniper标签 这个是我们最常用的,Sniper是狙击手的意思。这个模式会使用单一的payload【就是导入字典的payload】组。它会针对每个position中$$位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。攻击中的请求总数应该是position数量和payload数量的乘积。


第二种:
Battering ram – 这一模式是使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。简单说就是一个playload字典同时应用到多个position中


第三种:
Pitchfork – 这一模式是使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。比如:position中A处有a字典,B处有b字典,则a【1】将会对应b【1】进行attack处理,这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量


第四种:
Cluster bomb – 这种模式会使用多个payload组。每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。比如:position中A处有a字典,B处有b字典,则两个字典将会循环搭配组合进行attack处理这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。

 

 

1.第一种Sniper

 

 

 

 

破解时间的长短就取决于密码字典的大小和CPU的计算能力,破解完成后,可以通过length的不同找到正确的密码。

 

 

4.第四种

 

输入任意用户名和密码看返回的错误提示,记着错误的提示

 

 

记下 Username and/or password incorrect.后面配置burpsuite时要用,burpsuite代理设置好,再次任意输入用户名和密码,burpsuite拦截后把数据发到intruder功能下。然后在positions下选择攻击类型 Cluster bomb

 

 

在payload sets中,分别设置Payload set 1 和 Payload set 2 对应用户名与密码字典

 

 

 

然后options下,Grep-Match中添加 Username and/or password incorrect

 

 

点击intruder下拉栏的start attack即可

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DVWA(Damn Vulnerable Web Application)和sqli-labs(SQL Injection Labs)都是用于学习和测试网络安全的漏洞应用程序。它们的区别在于以下几个方面: 1. 目的:DVWA是一个包含多种不同类型漏洞的Web应用程序,旨在帮助用户了解和学习Web应用程序的安全性。它提供了各种漏洞场景,如SQL注入、跨站脚本攻击(XSS)、文件包含等,供用户进行渗透测试和漏洞利用的实践。 而sqli-labs则是专注于SQL注入漏洞的实验平台,提供了一系列具有不同难度级别的SQL注入漏洞场景。它旨在帮助用户深入理解SQL注入漏洞的原理、检测方法和防御措施。 2. 功能:DVWA提供了一个完整的Web应用程序,用户可以通过浏览器访问并与其进行交互。它还提供了一些辅助功能,如自动化工具和提示,以帮助用户更好地理解和利用漏洞。 sqli-labs则更加专注于SQL注入漏洞的实验,提供了一系列具体的实验场景,用户需要通过手动输入恶意代码来利用这些漏洞。 3. 难度级别:DVWA提供了不同难度级别的漏洞场景,从简单到复杂,适合不同水平的用户进行学习和实践。 sqli-labs也提供了多个难度级别的实验场景,用户可以根据自己的能力选择适合的挑战。 总的来说,DVWA是一个综合性的漏洞应用程序,而sqli-labs则更加专注于SQL注入漏洞。用户可以根据自己的需求和兴趣选择适合的平台进行学习和实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值