《11招玩转网络安全》之第三招:Web暴力破解-Low级别

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Web的暴力破解通常用于网站的登录窗口,其他的地方当然也可以用。比如某个网站需要验证身份证ID时,可以在字典中批量的写入合法的身份证ID,然后输入页面测试。这种方法手工都能做,只要有足够的耐心。

Docker中启动LocalDVWA容器,准备DVWA环境。在浏览器地址栏输入http://127.0.0.1, 中打开DVWA靶机。自动跳转到了http://127.0.0.1/login.php 登录页面。输入默认的用户名密码admin:password登录。单击页面左侧的DVWA Security,进行安全级别设置,如图3-18所示。

图3-18 DVWA安全级别

DVWA的安全级别有4种,分别为Low、Medium、High和Impossible。先选择最低的安全级别,单击Submit按钮确认选择。

单击页面左侧的BruteForce按钮,进入暴力破解测试页面,单击View Source按钮,如图3-19所示。

图3-19 Low Brute Force源代码

获取的代码如下:

<?php

 if( isset( $_GET[ 'Login' ] ) ) {

    // Getusername

    $user =$_GET[ 'username' ];

 

    // Getpassword

    $pass =$_GET[ 'password' ];

    $pass =md5( $pass );

 

    // Checkthe database

   $query  = "SELECT * FROM`users` WHERE user = '$user' AND password = '$pass';";

    $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>' );

 

    if($result && mysqli_num_rows( $result ) == 1 ) {

        //Get users details

       $row    = mysqli_fetch_assoc($result );

       $avatar = $row["avatar"];

 

        //Login successful

        echo"<p>Welcome to the password protected area {$user}</p>";

        echo"<img src=\"{$avatar}\" />";

    }

    else {

        //Login failed

        echo"<pre><br />Username and/or passwordincorrect.</pre>";

    }

 

   ((is_null($___mysqli_res =mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);

}
?>

从代码中可以看出,服务器没有对输入的用户名和密码做任何的检查,直接就进行了SQL查询。这种情况用SQL注入也非常的方便,但这里测试的是暴力破解。

浏览器启用SwitchyOmega的Burp Suite模式,启动Burp Suite监听本地的8080端口。在页面中任意输入一个用户名和密码,如图3-20所示。

图3-20 DVWA发送数据到Burp Suite

关闭浏览器其他的标签页,避免干扰。启动Burp Suite,打开Proxy标签页的Intercept项,将项目按钮调整成Intercept is on,如图3-21所示。

图3-21 Burp Suite拦截

回到DVWA页面中,单击Login按钮。浏览器向服务器127.0.0.1发送数据,通过127.0.0.1:8080端口,被Burp Suite拦截。Burp Suite显示拦截下来的数据,如图3-22所示。


图3-22 拦截的数据

在Raw的文本框中单击鼠标邮件,在弹出的菜单中选择Send toIntruder选项,Burp Suite将拦截得到的数据发送给了Intruder,进行选择、分析,如图3-23所示。

图3-23 Send Data to Intruder

单击Burp Suite的Intruder标签,选择Positions项目。这里是暴力破解的主战场,可以看到Intruder已经将页面发送数据中所有可爆破的参数都标示出来了,如图2-24所示。


图2-24 Intruder项目

这里所有标示出来的参数都是可以用于暴力破解的。实际上只需要暴力破解username和password这两个参数就可以。单击Clear$按钮。清除所有备选目标,然后选择需要暴力破解的两个参数username和passowrd,单击Add$按钮,将这两个攻击目标的参数标示起来,如图2-25所示。

图3-25 选择暴力破解目标

再来看看Intruder项目的攻击模式Attack type。Intruder的攻击模式有4种。分别为Sniper、Battering ram、pitchfork、Cluster Bomb模式。

Sniper是狙击模式,这种模式适合单一的目标参数破解。以本次破解为例,如果已知了用户名username,那就只需要暴力破解密码password就可以了。这就是单一的目标参数破解。只需要给一个字典,Intruder就用这个字典中的所有密码测试一遍。假设已给出密码字典为[a, b, c, d],破解方式为:

Password

-------------

 a

 b

 c

 d

Battering ram是撞击模式,这种模式不管有多少个目标参数破解,都只用一个密码字典。以本次破解为例,有两个目标参数需要破解,Intruder将密码字典中的密码同时给这两个目标,假设已给出密码字典为[a, b, c, d],破解方式为:

username | password

a  | a

b  | b

c  | c

d  | d

Pitchfork是交叉模式,这种模式中有多少个目标参数,就需要给多少个密码字典。以本次破解为例,有两个目标参数需要破解。假设给出的2个字典分别包含的是[1, 2]和[a, b, c, d]。Intruder将破解2次,破解方式为:

username | password

1  | a

 2  | b

Cluster bomb是集束炸弹模式,这种模式的中有多少目标参数,就需要多少个密码字典。以本次破解为例,有两个目标参数需要破解。假设给出的2个字典分别包含的是[1, 2]和[a, b, c, d]。破解方式为:

username | password

1  | a

1  | b

1  | c

1  | d

2  | a

2  | b

2  | c

2  | d

本次破解有2个目标参数username和password,需要2个字典。选择Cluster bomb模式,如图3-26所示。

图3-26 Attack Type

单击Payloads标签,为目标设置字典。第一个目标参数是username,用户名一般就是[root, admin, administrator],将这几个用户名输入到第一个目标参数的密码字典中去,如图3-27所示。

图3-27 输入用户名到字典

第2个目标参数是password,将创建的weak_top25.txt文件作为密码字典就可以了,如图3-28所示。

图3-28 载入文件作密码字典

所有设置完毕后,单击Startattack按钮开始破解。最后得到的结果如图3-29所示。


图3-29 Low安全级别的破解

Length是从服务器返回数据的长度。只有一个长度与众不同,那这个用户名和密码必定是正确的。测试一下,回到DVWA的Brute Force项目,输入用户名和密码admin:password,单击Login按钮,返回的结果如图3-30所示。

图3-30 测试结果

验证用户名密码可用。暴力破解成功。

有兴趣的欢迎一起读这本书《11招玩转网络安全——用Python,更安全》

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
101 2
计算机网络:思科实验【1-访问WEB服务器】
|
4月前
|
开发框架 安全 .NET
【网络安全】web源码详解及拓展
【网络安全】web源码详解及拓展
86 0
|
3月前
|
存储 网络协议 Linux
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
38 0
|
5月前
|
SQL 测试技术 网络安全
2023年中职“网络安全“—Web 深入测试②
2023年中职“网络安全“—Web 深入测试②
63 0
|
2月前
|
SQL 监控 安全
网络安全产品之认识WEB应用防火墙
随着B/S架构的广泛应用,Web应用的功能越来越丰富,蕴含着越来越有价值的信息,应用程序漏洞被恶意利用的可能性越来越大,因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板,无法为Web应用提供足够的防护。为了解决上述问题,WAF应运而生。它通过执行一系列针对HTTP、HTTPS的安全策略,专门对Web应用提供保护。
52 1
|
2月前
|
人工智能 监控 安全
网络安全知识入门:Web应用防火墙是什么?
网络安全知识入门:Web应用防火墙是什么?
22 1
|
3月前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
86 0
|
3月前
|
网络协议 应用服务中间件 nginx
一、《图解HTTP》- WEB和网络基础
一、《图解HTTP》- WEB和网络基础
35 0
|
5月前
|
域名解析 网络协议 JavaScript
图解HTTP:了解Web及网络基础
图解HTTP:了解Web及网络基础
|
5月前
|
网络协议 应用服务中间件 nginx
一、《图解HTTP》- WEB和网络基础
一、《图解HTTP》- WEB和网络基础
34 1
一、《图解HTTP》- WEB和网络基础