电脑疯子技术论坛|电脑极客社区

 找回密码
 注册

QQ登录

只需一步,快速开始

[WEB前端技术] 漏洞挖掘逻辑漏洞之密码找回

[复制链接]
zhaorong 发表于 2021-6-7 15:38:36 | 显示全部楼层 |阅读模式
在挖掘逻辑漏洞的时候习惯会去寻找用户登录 注册界面 因为这这地方比较容易入手 最近忙 所以没空挖了和大家
分享一下我的挖掘思路。这里以我最近挖到的一个漏洞为例 因为厂商还未修复,所以敏感信息做了打码处理。

第一种,暴破验证码。
正常打开一个找回密码的页面,如下:
输入一个手机号 验证码后 点击下一步:

124805ncqhh3c3nngvoxhn.png

burpsuite代理抓包 点击获取验证码 因为已经在该官网注册 所以已经知道了短信验证码为4位数输入
随机四位数验证码后 抓包 点击下一步:

99.jpg

在暴破模块 对code参数 也就是短信验证码进行暴破:

88.png

找到一个不一样的就是我们的验证码了 输入进去就可以更改密码,美滋滋。
验证码可以暴破的原因是因为对验证码的输入次数没有严格的限制 导致可以无限次输入
从而让攻击者暴力破解。

第二种 傻瓜式更改参数 直接跳转到下一步。
如图所示 操作和前面一样 输入手机号 随意输入验证码 抓包 点击下一步:

86.png

抓包如图:

66.png

哈哈 从抓到的数据包中 可以看到了一个很明显的参数 step=2,这不就是当钱的步骤二吗?
既然如此为何不试试将step的值修改为3?

26.jpg

修改为3后放包:

22.png

好家伙 直接进来设置新密码了。
造成这种结果的原因 想必也不用我多说了 前端开发人员好好反思一下。

第三种 修改状态码。
我们尝试输入随意一个短信验证码后 抓包后 发送到重放request功能模块中 查看返回包:

9.png

看到 出现了status参数的值为-1 status可能新手不知道是什么意思 可以去翻译一下 他的意思就是状态码当前的状态码
为-1表示错误的 失败的 因为验证码我们是随意输入的 ,所以返回的肯定是错误的 既然这样那我们就可以尝试更改状态
码把它改成0或1 只要不是-1就行。最后得出结果 当status参数值为1的时候 页面成功跳转到第三步。具体操作如下:

8.png

抓包后右键 选择Dointercept -> response to this request,随后点击forward

7.png

将状态码status的值改为1 点击forward:

6.png

成功跳转。
修复的办法就是不要把状态码放到前端吧。
三种方式就介绍到这里 希望大家可以从攻击者的角度去学会怎么防御修复漏洞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|VIP|电脑疯子技术论坛 ( Computer madman team )

GMT+8, 2025-3-14 04:59

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表