安全指南 | 某交易所框架严重逻辑漏洞,可重置任意用户密码!

DVPNET 发布在 技术指南 海盗号 26732

此篇文章分析的漏洞来自白帽子三个月前提交至DVP漏洞平台的漏洞。在收到漏洞后,DVP平台便尝试着联系该系统的开发团队,经几个月尝试联系未果。并监测到此套程序使用者逐渐减少的情况下,故公开此漏洞提醒各位开发者规避此类漏洞,同时提醒用户谨慎选择交易所。

漏洞复现

1. 任意手机号注册

攻击者可利用此漏洞进行恶意批量注册账号进行薅羊毛,对交易平台存在一定风险。

注册账号时,先填入自己的手机号码,用来接收验证码

1
然后填入正确的验证码  并修改手机号码为任意手机号 即可注册任意手机号

2

DVP修复建议:

手机号和验证码绑定验证,防止用户使用一个正确的验证码注册任意账号。

 

2. 短信接口滥用

攻击者可利用此接口进行短信轰炸,恶意消耗平台短信资源,造成平台资产损失。

平台在注册新用户获取注册验证码的时候没有限制重新获取验证码的时间,攻击者可不断请求获取验证码数据包,从而对指定手机号进行短信轰炸

3
测试发送二十个获取短信验证码数据包
4
受害者手机上便在短时间内收到二十条注册验证码短信,可造成短信轰炸。
5
6
DVP修复建议:

限制发送次数

限制再次获取验证码的时间间隔

 

3.任意用户密码重置

攻击者可利用此漏洞重置网站用户密码,可对用户造成资产损失。

首先在找回密码处输入受害者的手机号,点击获取找回密码的验证码

7
然后直接访问这个链接 绕过验证码验证,直接进行重置密码。

/Login/modify_pwd.html?country_code=86&mobile=受害者手机号

填入新的密码后 点击完成即可直接重置任意用户密码
9
成功登陆受害者的账号
10
DVP修复建议:
  • 每一个步骤都要对前一个步骤进行验证;
  • 提交新密码时应对当前用户名或ID、手机号、短信验证码进行二次匹配验证,防止用户跨流程操作。
 

攻击者可利用此类漏洞恶意注册账号进行薅羊毛,而且可以对特定用户进行密码重置。此类漏洞的产生原因是因为程序员在用户注册账号和找回密码等环节,只验证了验证码的有效性,并没有对手机号和验证码进行匹配验证,导致了可使用一个验证码对任意手机号进行注册,且在找回密码环节没有验证上一个环节的完整性,用户可跳过上一个环节直接进入重置密码的界面,从而绕过验证码验证重置任意用户密码。

 

来源:DVPNET

本文链接:https://www.8btc.com/media/360080
转载请注明文章出处

评论
登录 账号发表你的看法,还没有账号?立即免费 注册