Burpsuite靶场|根据Cookie规则暴力破解密码

2024-06-14 372 0

阅读须知

本文的知识内容,仅供网络安全从业人员学习参考,用于已获得合法授权的网站测试,请勿用于其它用途。请勿使用本文中的工具、技术及资料,对任何未经授权的网站、系统进行测试,否则,所造成的直接或间接后果,均由您自行承担。

靶场说明

测试背景:本靶场设定的登录用户密码为弱密码,请你尝试暴力破解密码并登录。请注意,靶场已实施 IP 请求限制措施,同一账号若连续登录失败3次,将触发 IP 地址封禁机制。然而,可以通过登录时勾选保持登录的复选框,在成功登录靶场之后观察 Cookie 的生成方式,尝试构造 Cookie 进行爆破登录。

使用工具:HTTP抓包测试工具、HTTP模糊测试工具。

必要条件:正确用户名和账号、测试用户名和暴力破解所需账户密码表单均已提供。

工具下载:TangGo测试平台

测试靶场https://portswigger.net/web-security/authentication/other-mechanisms/lab-brute-forcing-a-stay-logged-in-cookie

Burpsuite靶场|根据Cookie规则暴力破解密码插图

(靶场原文描述)

测试思路

访问目标网站:首先,访问目标网站并进入其登录页面。

验证账号有效性:接下来,输入正确的用户名和密码并勾选“Stay logged in”,以确保账号的有效性并确认能够成功登录。

抓取后台界面数据包:使用HTTP抓包测试工具,抓取带有设置 Cookie 状态的登录数据包。

推测 Cookie 规则:观察正确用户的 Cookie 生成方式,得到其 Cookie 生成为“用户名:md5(密码)”进行 base64 编码后的组合方式。

枚举测试用户密码:利用HTTP模糊测试工具,通过 Cookie 状态对指定的测试用户“carlos”的密码进行枚举尝试。

获取正确密码:通过匹配规则筛选,我们成功找到了“carlos”用户的正确密码。

成功登录验证:最后,使用获取到的账号和密码尝试登录,若登录成功,则说明账号和密码无误。

使用实操

访问和登录

首先启动 HTTP抓包测试工具,打开右上角内置浏览器,之后在浏览器中访问靶场的网站,加载后是一个普通的网页:

Burpsuite靶场|根据Cookie规则暴力破解密码插图1

(靶场首页)

分析网页发现,右上角的“My account”其中文翻译为“我的账户”,猜测此处可能为登录入口,点击“My account”后会跳转至新页面,进入后发现为登录页面:

Burpsuite靶场|根据Cookie规则暴力破解密码插图2

(登录页面)

在登录页面中,输入正确的用户名(winner)和密码(peter)并勾选“Stay logged in”,点击登录后,成功进入后台页面,此时我们观察并记录后台页面中的关键字“Update email”,方便后续使用匹配规则筛选出正确的数据。

Burpsuite靶场|根据Cookie规则暴力破解密码插图3

(登录后台)

抓取成功登录后台的请求数据包之后观察 Cookie 的生成方式,操作如下:

首先我们回到 HTTP抓包测试工具中,开启抓包拦截之后回到内置浏览器中,刷新该页面,此时通过 HTTP抓包测试工具,我们成功抓取到登录请求的数据包:

Burpsuite靶场|根据Cookie规则暴力破解密码插图4

(登录请求包)

因为我们勾选了“Stay logged in”,所以登录的状态会进行保持,于是我们分析请求后台页面数据包中的“Cookie”,其中有一个“stay-logged-in”的字段,该字段的值为 base64 编码,我们框选该值,依次点击右键-->编码解码选中的数据-->解码-->base64 解码

Burpsuite靶场|根据Cookie规则暴力破解密码插图5

(逆向 Cookie)

解码完成后,我们可以看到此字段由两部分组成,前半段为登录的用户名(wiener),后半段为一串 32 位的字符串,并使用冒号将两个字段分隔开。

Burpsuite靶场|根据Cookie规则暴力破解密码插图6

猜测该 32 位的字符串为 md5 加密,复制该字符串进行 md5 解密,果然字符串解密为正确的登录密码“peter”。

Burpsuite靶场|根据Cookie规则暴力破解密码插图7

(MD5 查询)

至此我们明白了“stay-logged-in”字段值的构成,该值首先由“用户名”+“分隔符冒号”+“密码(md5)”组合构成,其次在对构成后的组合进行 base64 的编码。

MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,它可以将任意长度的“字节串”映射为一个128位(16字节)的大整数,并且以32个十六进制数字表示的字符串的形式给出。

接下来我们可以通过爆破“stay-logged-in”字段的值来尝试登录用户“carlos”。首先我们回到后台页面中,通过点击“Log out”先退出当前用户。

Burpsuite靶场|根据Cookie规则暴力破解密码插图8

(退出当前用户)

Burpsuite靶场|根据Cookie规则暴力破解密码插图9

(点击账户界面)

观察抓取到的数据包,可以发现“stay-logged-in”其字段值为空,接下来我们使用 HTTP模糊测试工具进行爆破测试。

Burpsuite靶场|根据Cookie规则暴力破解密码插图10

(抓取数据包)

参数设置

在操作选项卡中把抓取到的数据发送到 HTTP模糊测试工具中,工具会自动打开并跳转:

Burpsuite靶场|根据Cookie规则暴力破解密码插图11

(发送到 HTTP模糊测试工具中)

步骤 1- 设置请求参数

设置需要进行爆破的值,此处由于“stay-logged-in”的值为空,所以我们只需要直接点击标记即可:

Burpsuite靶场|根据Cookie规则暴力破解密码插图12

(标记变体值)

步骤 2-设置变体参数

1.重放模式

Burpsuite靶场|根据Cookie规则暴力破解密码插图13

(模式选择)

重放模式选择单字典逐一爆破模式,因为此处只需要对密码进行暴力破解,所以选择此模式。

2.1 变体赋值

点击靶场提供的“Candidate password”:

Burpsuite靶场|根据Cookie规则暴力破解密码插图14

(Candidate password)

点击链接后,在弹出页面中,复制所有的密码。

Burpsuite靶场|根据Cookie规则暴力破解密码插图15

(复制密码)

点击粘贴按钮将所复制的密码全部粘贴到 HTTP模糊测试工具中。

Burpsuite靶场|根据Cookie规则暴力破解密码插图16

(粘贴密码)

2.2 按以下规则对赋值进行处理

之前分析可知该值首先由“用户名”+“分隔符冒号”+“密码(md5)”组合构成,其次在对构成后的组合进行 base64 的编码。我们进行 3 步设置,具体如下:

1.生成密码对应的 MD5 值:

点击右侧加号进行设置处理规则。

Burpsuite靶场|根据Cookie规则暴力破解密码插图17

(新建规则)

处理方式选择变体值哈希,哈希选择 MD5(32 位):

Burpsuite靶场|根据Cookie规则暴力破解密码插图18

(MD5 处理)

2.添加变体值的前缀

此时密码的 MD5 值已经生成,接下来为该密码添加前缀用户名,注意一并添加分隔符冒号,依旧点击添加规则,然后选择变体值添加前缀,前缀为“carlos:”

Burpsuite靶场|根据Cookie规则暴力破解密码插图19

(添加前缀)

3.base64 编码

设置完成后上述两步后,此时我们只需要对整体的值进行 base64 编码即可,依旧点击添加规则,然后选择变体值编码,编码方式为 Base64 编码。

Burpsuite靶场|根据Cookie规则暴力破解密码插图20

(base64 编码)

至此我们已经成功设置完成了变体值的处理方式 。

Burpsuite靶场|根据Cookie规则暴力破解密码插图21

(设置完成)

点击赋值方式右侧的小眼睛可以对设置完成的数据进行预览。

Burpsuite靶场|根据Cookie规则暴力破解密码插图22

(预览规则)

设置匹配规则

通过之前收集后台界面信息可知,成功登录的页面包含字符串“Update email”,所以我们进行规则匹配,具体操作如下:

点击测试过程模块,在模块中选择匹配规则。

Burpsuite靶场|根据Cookie规则暴力破解密码插图23

(匹配规则)

点击添加按钮创建新的匹配规则。

Burpsuite靶场|根据Cookie规则暴力破解密码插图24

(添加规则)

在新弹出的页面中:

  • 匹配位置:HTTP 响应头部
  • 匹配类型:包含字符串
  • 匹配规则:Update email

Burpsuite靶场|根据Cookie规则暴力破解密码插图25

(设置规则)

设置完成后,接下来就可以启动测试了。

启动测试

设置完成后,点击“测试过程”-->“启动测试”,可以看到返回数据很多:

Burpsuite靶场|根据Cookie规则暴力破解密码插图26

(测试数据)

接下来我们直接通过筛选匹配规则精确得出正确的数据:

Burpsuite靶场|根据Cookie规则暴力破解密码插图27

(筛选匹配)

如果你遇到了状态码返回全部为 302,请在测试配置中切换 HTTP 重定向为“无条件跟踪重定向”。

Burpsuite靶场|根据Cookie规则暴力破解密码插图28

复制筛选出数据包中的变体值,打开 TangGo 主界面中的编码解码工具:

Burpsuite靶场|根据Cookie规则暴力破解密码插图29

(编码解码工具)

对数据包依次进行base64 解码-->md5 解密后即可得到正确的密码值

Burpsuite靶场|根据Cookie规则暴力破解密码插图30

(base64 解码)

Burpsuite靶场|根据Cookie规则暴力破解密码插图31

(MD5 查询)

输入账号“carlos”和密码“121212”成功登录。

Burpsuite靶场|根据Cookie规则暴力破解密码插图32

(成功登录)

至此使用 Cookie 认证的方式爆破得到了用户的密码并成功登录了后台。

测试总结

漏洞总结:

  1. 使用基于 Base64 编码和 MD5 哈希的身份验证 Cookie,其中包含了用户名和密码的信息。
  2. 攻击者可以通过对该 Cookie 进行逆向工程,尝试使用 MD5 哈希算法生成密码的哈希值,并与已知的用户名组合,以尝试构造有效的身份验证 Cookie。

解决方法:

  1. 使用更强大的加密算法,如 SHA-256,替代不安全的 MD5 哈希算法。
  2. 不要将用户的密码直接存储在 Cookie 中,而是使用随机生成的令牌,并在服务器端进行验证。
  3. 加强会话管理,确保在用户登录时生成新的会话令牌,并在用户注销或会话超时后使其失效。

注意:工具使用内容请以最新版本为主。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解
llama_index的CVE-2024-4181漏洞根因分析

发布评论