网络安全入门之 Burp Suite 暴力破解 DVWA Brute Force Low

   日期:2020-07-02     浏览:119    评论:0    
核心提示:最近参加了2020腾讯安全平台部极客技术挑战赛,获得了一次腾讯绿色通道面试的机会,因此我想要借此机会补充一下网络安全方面的知识,于是就从基础的靶场 DVWA (Damn Vulnerable Web Application) 开始刷起,这一篇是关于暴力破解安全等级为 Low 的账号密码的内容。

文章目录

    • 1. 背景
    • 2. 准备工作
      • 2.1. 靶场环境
      • 2.2. 安装破解工具
    • 3. 破解过程
      • 3.1. 代理请求
      • 3.2. 拦截请求
      • 3.3. 填装弹药
      • 3.4. 设置岗哨
      • 3.5. 开始攻击
    • 4. 参考文献

1. 背景

最近参加了2020腾讯安全平台部极客技术挑战赛,获得了一次腾讯绿色通道面试的机会,因此我想要借此机会补充一下网络安全方面的知识,于是就从基础的靶场 DVWA (Damn Vulnerable Web Application) 开始刷起,这一篇是关于暴力破解安全等级为 Low 的账号密码的内容。

2. 准备工作

2.1. 靶场环境

首先配置靶场环境,如果想要在本地配置靶场环境,可以参考github上的教程,这里推荐大家直接使用vulnspy提供的在线的靶场环境。

如图1所示,点击右上角的 Start To Hack 使用GitHub账号登陆,即可创建靶场环境。

Figure 1. 创建靶场环境 \text{Figure 1. 创建靶场环境} Figure 1. 创建靶场环境

创建环境以后,在 LABS 标签下,点击 Target Address 下的链接即可进入环境,一次创建有效期为 2 个小时,结束后可以再次创建,最多能够同时创建5个实验环境。

Figure 2. 进入靶场环境 \text{Figure 2. 进入靶场环境} Figure 2. 进入靶场环境

进入页面以后,账号密码都是默认的,点击登陆。

Figure 3. 登陆 \text{Figure 3. 登陆} Figure 3. 登陆

拉到页面底部,点击创建数据库。

Figure 4. 创建数据库 \text{Figure 4. 创建数据库} Figure 4. 创建数据库

创建完成后,会回到登陆页面要求重新登陆,再次登陆即可。

默认的难度是 impossible,基本没有安全漏洞,我们要点击左边的 DVWA Security 设置难度。

Figure 5. 进入设置难度页面 \text{Figure 5. 进入设置难度页面} Figure 5. 进入设置难度页面

页面上也有相应的难度说明,我们先从 Low 的难度开始训练。

Figure 6. 设置难度为Low \text{Figure 6. 设置难度为Low} Figure 6. 设置难度为Low

点击左边的Brute Force标签,我们就进入到密码破解的训练页面了。

Figure 7. Brute Force \text{Figure 7. Brute Force} Figure 7. Brute Force

2.2. 安装破解工具

下载 Burp Suite Community 免费版本 ,图形界面安装。下载有点慢,Mac 系统的同学可以从百度网盘下载。

链接:https://pan.baidu.com/s/1fXM7uKv2lE5KoEDgCVnazQ 密码:x7sj

安装完成以后,就可以开始我们的破解了。

3. 破解过程

3.1. 代理请求

首先设置浏览器的代理,在Safari中操作路径为为偏好设置 - 高级 - 代理 - 更改设置,设置HTTP代理,将代理服务器地址设置为127.0.0.1:8000

Figure 8. 代理 \text{Figure 8. 代理} Figure 8. 代理

Proxy - Option中的设置保持一致。

Figure 9. Proxy - Option \text{Figure 9. Proxy - Option} Figure 9. Proxy - Option

我们再对 Burp Proxy 进行一些了解。内容参考自《Web安全攻防:渗透测试实战指南》中对Burp Proxy的介绍。

Burp Proxy 是利用 Burp 开展测试流程的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端与服务端之间传输的数据。

Burp Proxy 的拦截功能主要由 Intercept 选项卡中的 Forward、Drop、Interception is on/off和Action 构成,它们的功能如下所示。

  • Forward 表示将拦截的数据包或修改后的数据包发送至服务器端。
  • Drop 表示丢弃当前拦截的数据包。
  • Interception is on 表示开启拦截功能,单击后变为Interception is off,表示关闭拦截功能。
  • 单击Action按钮,可以将数据包进一步发送到Spider、Scanner、Repeater、Intruder等功能组件做进一步的测试,同时也包含改变数据包请求方式及其body的编码等功能。

打开浏览器,输入需要访问的URL并按回车键,这时将看到数据流量经过Burp Proxy并暂停,直到单击 Forward 按钮,才会继续传输下去。如果单击了 Drop 按钮,这次通过的数据将丢失,不再继续处理。

Burp Suite 拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp有四种消息类型显示数据包:Raw、Params、HeadersHex

  • Raw 主要显示Web请求的raw格式,以纯文本的形式显示数据包,包含请求地址、HTTP协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试。
  • Params 主要显示客户端请求的参数信息,包括GET或者POST请求的参数、cookie参数。可以通过修改这些请求参数完成对服务器端的渗透测试。
  • Headers 中显示的是数据包中的头信息,以名称、值的形式显示数据包。
  • Hex 对应的是Raw中信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改,在进行00截断时非常好用。1

3.2. 拦截请求

接下来我们要开始拦截请求,在 Burp Suite 点击Intercept is off 中打开请求拦截。

Figure 10. 请求拦截 \text{Figure 10. 请求拦截} Figure 10. 请求拦截

在靶场的Brute Force页面中输入任意的账号密码,点击登陆。在 Burp SuiteProxy - Intecept 界面中显示拦截成功,点击 Intercept is on 关闭拦截。

Figure 11. 拦截成功 \text{Figure 11. 拦截成功} Figure 11. 拦截成功

在Http History中找到带账号密码的请求。

Figure 12. Http History \text{Figure 12. Http History} Figure 12. Http History

全选后,右键选择 Send To Intruder

Figure 13. Send To Intruder \text{Figure 13. Send To Intruder} Figure 13. Send To Intruder

Intruder - 2 - Position 界面中,将用户名和密码以外的变量去除,选择 Attack typePitchfork

Figure 14. Intruder \text{Figure 14. Intruder} Figure 14. Intruder

各种模式的区别可以参考《Web安全攻防:渗透测试实战指南》中的内容,具体如下。

  • Sniper模式使用单一Payload组。它会针对每个位置设置Payload。这种攻击类型适用于对常见漏洞中的请求参数单独进行Fuzzing测试的情景。攻击中的请求总数应该是position数量和Payload数量的乘积。
  • Battering ram模式使用单一Payload组。它会重复Payload并一次性把所有相同的Payload放入指定的位置中。这种攻击适用于需要在请求中把相同的输入放到多个位置的情景。请求的总数是Payload组中Payload的总数。
  • Pitchfork模式使用多个Payload组。攻击会同步迭代所有的Payload组,把Payload放入每个定义的位置中。这种攻击类型非常适合在不同位置中需要插入不同但相似输入的情况。请求的数量应该是最小的Payload组中的Payload数量。
  • Cluster bomb模式会使用多个Payload组。每个定义的位置中有不同的Payload组。攻击会迭代每个Payload组,每种Payload组合都会被测试一遍。这种攻击适用于在位置中需要不同且不相关或者未知输入攻击的情景。攻击请求的总数是各Payload组中Payload数量的乘积。1

3.3. 填装弹药

要通过暴力来破解DVWA Brute Force Low,遍历所有符号的排列组合是比较低效的,因为每种情况并非等可能地出现,人们为了要记忆自己的密码,一般都会遵循某些规律,比如在密码中包含姓名、生日等等字段。所以我们就需要一份包含高频用户名和密码的词典作为弹药,从而对系统进行轰炸。

我选择的是Github上的SecLists项目,上面有许多用户名和密码,有些按照频率进行了排序,更加方便我们使用。

我也选了一些放在了百度网盘上。

链接:https://pan.baidu.com/s/1NbOkmIbhBXOvejwSyoCF2A 密码:74gz

在这里我使用的是 xato-net-10-million-passwords-dup.txtxato-net-10-million-usernames-dup.txt 两份基于频率排序的词典。

Payload 界面通过Load按钮将词典引入,Payload set 为 1 时引入的是账号Payload set 为 2 时引入的是密码

Figure 15. Payload \text{Figure 15. Payload} Figure 15. Payload

3.4. 设置岗哨

填装好弹药以后,我们还需要知道在什么情况下破解算成功了。我们先随意填写一次账号密码,发现当用户名或密码错误时,页面会显示Username and/or password incorrect. 那么当页面没有显示这条信息时,说明我们破解成功了。

Figure 16. Incorrect Page \text{Figure 16. Incorrect Page} Figure 16. Incorrect Page

所以我们要在Intruder - 2 - Option - Grep Match 中添加 incorrect 关键词,并且勾选Flag

Figure 17. Grep Match \text{Figure 17. Grep Match} Figure 17. Grep Match

3.5. 开始攻击

接下来,在 Payload 界面点击 Start Attack 开始攻击。点击后会有一个提示说免费版的攻击时长受限,点 OK 即可。

Figure 18. Attack \text{Figure 18. Attack} Figure 18. Attack

很快,我们就发现了有一条攻击请求的 Response 中没有incorrect 关键词。

Figure 19. Sign \text{Figure 19. Sign} Figure 19. Sign

查看该次攻击的账号密码,发现其账号为 admin,密码为password。到此,我们就成功地通过暴力方式破解了DVWA Brute Force 安全等级为 Low 的密码。

Figure 20. Password \text{Figure 20. Password} Figure 20. Password

4. 参考文献

[1] 徐焱, 李文轩, 王东亚. Web 安全攻防:渗透测试实战指南 [M]. 北京: 电子工业出版社, 2018.

联系邮箱:curren_wong@163.com

CSDN:https://me.csdn.net/qq_41729780

知乎:https://zhuanlan.zhihu.com/c_1225417532351741952

公众号复杂网络与机器学习

欢迎关注/转载,有问题欢迎通过邮箱交流。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服