Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)

2024-06-14 369 0

阅读须知

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

靶场说明

在上篇文章中,我们介绍了根据网站登录提示差异枚举存在的账号。本文中,我们将继续延用此靶场,通过 TangGo 的独特功能,更便捷更高效的得到测试数据。那我们如何更高效的测试出数据呢?请看对比流程图:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图

(流程图)

通过对比流程图,我们可以明确得出以下结论:在基础篇中,我们采取了以下步骤:首先枚举用户名,一旦获取到正确的用户名,我们会继续枚举该用户名的密码,最终成功登录。然而,是否存在一种更为高效的方法,能够一步到位地直接获取到正确的用户名和密码呢?确实,按照传统的思路,我们可能会尝试将多个用户名与多个密码进行交叉匹配以获取数据。但是对于不存在的用户名,我们根本不需要去暴力破解密码,所以这种方法不仅耗时,而且还会多出很多不必要的测试请求。

在 TangGo 的 HTTP模糊测试工具中,我们能够通过设定特定的发包流程来优化这一过程。具体来说,当用户名不存在时,工具将不再进行密码的暴力破解,而是仅在用户名正确的情况下对其进行密码的暴力破解。此外,TangGo 工具还允许我们设置匹配规则,从而能够直接精确地筛选出正确的用户名和密码。这样,我们就不再需要在大量的返回数据条目中逐一查找正确的数据,从而大大提高了效率。

本文中我们将详细讲解如何通过 HTTP模糊测试工具的实用功能更高效便捷的得到测试数据。

使用实操

因为延用之前靶场且“抓取数据包”步骤一致,所以这里我们就不在赘述,详细步骤请参考根据网站登录提示差异枚举存在的账号,此处我们直接从“参数设置”开始讲解。

参数设置

启动HTTP模糊测试工具后,我们将按照以下步骤进行详细的设置:

  • 对用户名和密码进行变体设置。
  • 在发包后流程中,设置<关键节点条件判断>流程,跳过不存在的用户名的后续测试流程(不进行密码破解) 。
  • 设置匹配规则,以便从测试结果中直接筛选出正确的用户名和密码组合。

步骤 1- 设置请求参数

对需要枚举的用户名和密码进行标记,这里标记“username”字段的值“aa”和“password”的字段值“b”:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图1

(标记 aa 和 b)

步骤 2-设置变体参数

1.重放模式

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图2

(模式选择)

重放模式选择多字典交叉爆破模式,因为此处需要对多个用户名和多个密码进行交叉测试,所以选择此模式。

2.变体赋值

在变体 1 中填入靶场给定的用户名:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图3

(靶场给定的用户名)

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图4

(粘贴用户名)

在变体 2 中填入靶场给定的密码:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图5

(靶场给定的密码)

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图6

(粘贴密码)

设置自定义流程

点开自定义流程模块,可以发现自定义流程中有发包前和发包后流程。

在使用HTTP模糊测试工具时,若在发送数据包之前需执行诸如执行Token获取、验证码识别或提取、系统登录等各类前置流程等前置流程操作,可通过设置发包前流程来完成这些步骤。

在使用HTTP模糊测试工具时,若在发送数据包之后需执行如从响应数据中提取需要的数据、对数据进行处理、将需要的数据发送到某些接口或保存到文件中、判断本次测试是否因为验证码错误等原因需要重新尝试、或者因为某些条件不满足而中止测试等后续流程操作,可以通过设置发包后流程来完成这些步骤。

本文需要根据响应数据执行对应判断,所以选择使用发包后流程模块,设置如下。

点击右上角新建按钮:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图7

(新建规则)

在弹出的页面中选择“关键节点条件判断”。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图8

(设置操作类型)

在判断规则中点击新建按钮:

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图9

(新建规则)

在弹出的页面中设置判断规则:

  • 对象类型:模糊测试响应数据。
  • 对象属性:HTTP 响应 Body。
  • 判断方法:包含字符串。
  • 特征数据:Invalid username。

在上文中我们可以得知,当用户名不存在的时候返回的响应数据中含有字符串“Invalid username”,所以此处我们需要根据响应数据中是否包含字符串“Invalid username”进行判断,故判断方法为包含字符串、特征数据填“Invalid username”。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图10

(判断规则)

设置完判断规则后,接下来我们进行匹配规则成立后,需要执行操作的对应设置。

如果匹配上述规则,则说明响应数据中包含字符串“Invalid username”,此时必然是不存在的用户名,所以并不需要对此用户名进行密码暴力破解,而应该直接测试下一个用户名。搞清楚该逻辑后,我们就清楚该如何设置了,首先如果该用户名不存在则不会进行密码暴力破解,也就丢弃此变体本来测试所用变体值;所以勾选丢弃本轮测试所用变体值,其次该规则丢弃的数据应该是用户名,所以规则应用于选择变体 1:aa,最后丢弃数据后应当直接进行下轮测试,继续测试其他的用户名,所以选择直接进行下轮测试。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图11

(执行操作)

点击确定按钮完成设置。接下来为了方便能够精确的筛选出正确的数据,我们设置匹配规则。

设置匹配规则

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

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图12

(匹配规则)

根据之前的思路我们可以得知,当用户名错误的时候返回数据中包含字符串“Invalid username”,当用户名正确但密码错误的时候,返回数据中包含字符串“Incorrect password”,所以如果排除掉包含“Invalid username”的返回数据包,也排除掉包含“Incorrect password”的返回数据包,那么该数据即为唯一符合的数据,所以设置如下。

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

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图13

(添加规则)

在新弹出的页面中:

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

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图14

(设置规则)

因为我们需要包含两个字符串,所以需要创建两次,同理创建规则包含字符串“Incorrect password”。依次创建好两个匹配规则后,接下来就可以启动测试了。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图15

(完成 2 个匹配规则设置)

启动测试

设置完成后,点击“测试过程”-->“启动测试”:

在测试返回的数据中,可以发现我们成功触发了发包后关键节点判断,丢弃了大量的变体数 (10000),同时发现数据包匹配规则大多数为“是”。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图16

(返回数据)

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

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图17

(筛选匹配规则)

当我们使用匹配功能筛选“否”的时候,此时返回的数据包即不包含“Invalid username”也不包含“Incorrect password”,所以筛选出的数据即为正确的数据。

Burpsuite靶场|根据网站登录提示差异枚举存在的账号(进阶篇)插图18

(正确数据)

至此我们成功拿到了靶场用户名“anaheim”和密码“michael”。

测试总结

测试漏洞:用户名枚举和密码暴力破解。

用户名枚举:

  • 攻击方法:发送不同的用户名,观察页面返回数据的响应以判断用户名是否有效。
  • 响应特征:网站可能对存在用户和不存在用户返回不同的数据内容,测试人员通过返回数据来区分存在的和不存在的用户。

密码暴力破解:

  • 攻击方法:对已经存在的用户名尝试多个密码组合,以得出正确的密码。
  • 响应特征:网页可能根据密码的正确性返回不同的数据响应,如密码错误或密码无效,测试人员通过返回数据来区分正确和错误的密码。

解决方案:

  • 用户隐私保护:系统应避免在错误消息中泄露有关用户名的详细信息,例如明确指出“用户名错误”或“密码错误”。
  • 限制登录尝试:实施登录尝试次数限制,例如在多次失败的尝试后锁定用户账户或增加延迟时间。
  • 密码策略:要求用户使用强密码,并实施密码复杂性要求,例如包含大小写字母、数字和特殊字符。
  • 监控和报警:实施实时监控和报警机制,以检测异常登录行为并及时采取响应措施。

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


4A评测 - 免责申明

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

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

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

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

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

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

相关文章

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

发布评论