靶场提供了一个有效的用户和一个测试账户,任务是破解出测试用户的密码。为了绕过IP封禁机制,我们使用修改密码功能进行爆破。具体来说,在登录有效用户后,使用修改密码功能时可以更改当前的用户名为测试用户名,并根据修改密码后页面返回的信息从而暴力破解出测试用户的密码。
使用工具:HTTP抓包测试工具、HTTP模糊测试工具。
必要条件:正确用户名和账号、测试用户名和暴力破解所需账户密码表单均已提供。
测试靶场名称:Password brute-force via password change
测试靶场地址:https://portswigger.net/web-security/authentication/other-mechanisms/lab-password-brute-force-via-password-change
验证账号有效性:接下来,输入正确的用户名和密码,以确保账号的有效性并确认能够成功登录。
查看返回响应:查看当前密码输入错误的时候页面返回的响应,查看当前密码正确但设置的两次新密码不一致的时候页面返回的响应。
判断存在漏洞:根据返回响应可以得出修改密码前会判断密码是否为当前用户的正确密码,所以可以通过此处暴力破解“carlos”的密码。
抓取数据包:使用HTTP抓包测试工具,抓取修改密码发送的请求数据包。
枚举测试用户密码:利用HTTP模糊测试工具,对指定的测试用户“carlos”的密码进行枚举尝试。
获取正确密码:通过设置发包后流程,我们成功找到了“carlos”用户的正确密码。
成功登录验证:最后,使用获取到的账号和密码尝试登录,若登录成功,则说明账号和密码无误。
既然显示了“username”字段,我们尝试修改“username”字段的值为测试用户 “carols”,查看修改的用户名是否可控。
我们只需要抓取修改密码的请求数据包,并且把用户名“wiener”修改用户名为“carols”,然后通过 HTTP模糊测试工具对 password 字段的值进行爆破即可。
点开自定义流程模块,在发包后流程中点击右上角新建按钮。
设置规则发包运行如下:
○ 对象属性:因为需要提取内容,所以选择 HTTP 响应 Body。
○ 判断方法:因为需要不包含指定的内容,所以选择不包含字符串。
○ 特征数据:填写需要匹配的特征数据,这是为字符串“Current password is incorrect”。
成功触发了发包后流程,结束了测试流程。
● 攻击者可以利用这一漏洞通过尝试不同的新密码组合来枚举正确的当前密码。
● 在密码更改请求中,不要将当前密码作为隐藏输入字段发送给客户端,以降低攻击者获取当前密码的可能性。
· https://tanggo.nosugar.tech/
· https://github.com/TangGolang/TangGo/issues
原文始发于微信公众号(无糖反网络犯罪研究中心):TangGo | Burpsuite靶场-通过修改密码功能进行暴力破解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论