更换了密码之前的登录验证码码还有用吗

其实手机号+登录验证码码登录方式解决的是现在的应用太多了用户很多记不住密码的苦恼,同时如果用户为了省事所有应用密码都一样那么一个app密码被盗,可能导致佷多账号被盗修改密码成本也很高;手机号+密码解决的是用户手机不在身边,信号不好_但有wifi手机号停机,手机丢失等情况下的登录各有好处。用户可以选择一直用手机号+登录验证码码登录而不设置密码,就没有密码被盗的风险用户选择用手机号+密码登录登录受制約的条件更少些。


下次也只能用同一个手机号登录

你对这个回答的评价是?


你对这个回答的评价是

上次我找了三个人只有他能帮忙解决好的

你对这个回答的评价是?

下载百度知道APP抢鮮体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

进行这个整理是因为在XXX项目的時候,发现登录模块的忘记密码功能在登录验证码用户身份的时候是通过手机登录验证码码登录验证码的。通过修改响应包的返回参数徝可以绕过登录验证码,进入第三步的密码重置还有最近测试的一个sso登录,也存在登录验证码码问题

之前的测试中也遇到过类似的登录验证码码绕过的漏洞,所以对登录验证码码绕过方法进行一个总结以及关于登录模块可能会存在的逻辑漏洞进行一个小整理。

其实会出现登录验证码码的地方,也就是校验用户身份处比如,登录、忘记密码、注册、绑定、活动领取、反馈处等而登录模块中可能存在的逻辑漏洞,无非就是用户枚举、任意用户密码重置当然认证绕过也是逻辑漏洞,这个我们暂且放在登录验证码码里面


这种是用户端根据返回的值,来确定是否进行下一步比如发送成功返回state的值昰success,失败是false然后客户端根据state的值,来确定下一步的动作这样,我们可以通过修改响应包绕过登录验证码。

比如忘记密码处:第二步Φ对用户的身份进行短信登录验证码,可通过修改响应包将error换为ok即可绕过身份登录验证码,到设置密码处

注册处,登录验证码手机登录验证码码处通过修改响应包,或替换为自己的手机号绕过登录验证码码的限制,造成使用他人手机号进行注册

有些登录也存在類似的问题,随便输入账号密码拦截返回的响应包,将包替换为A账号正确的登录返回的响应包(前提是A账号的cookie是有效的),即可登录箌A账号这种也是客户端,根据响应包的值来决定下一步动作。

这种比较少因为算是功能问题,在登录验证码身份时未对答案进行校验。就是随便输入就能进入下一步。

忘记密码处第二步中,选择其他方式找回通过密保找回,未对密保答案进行登录验证码随便输入答案,即可跳转到设置密码处

短信登录验证码码处,随便输入其他登录验证码码错误,而置空却不校验则可以通过置空绕过

峩的==>登陆==>短信登录验证码码登陆登陆时抓包把code(登录验证码码字段)值置为空,即可登陆任意账户

当修改别人的信息时,需要短信认证时在发送短信时,我们可以尝试将手机号替换为自己的,来获取短信登录驗证码码如果服务端只是检查登录验证码码是否正确,而不是进行手机号和登录验证码码匹配的话或者只是匹配发送短信手机号和登錄验证码码,我们就可以绕过认证

忘记登录验证码码,登录验证码身份时在发送短信时,拦截将手机号替换为我们自己的,发送嘫后再输入得到登录验证码码,登录验证码如果此时只是登录验证码码登录验证码码是否正确,即可绕过

但是,若登录验证码发送手機号和登录验证码码是否匹配时我们可以在填好登录验证码码,提交时拦截,将手机号再次改为我们自己的即可绕过。

在给手机发送短信登录验证码码时,比如phone=我们同时向多个手机号发送短信,用逗号隔开即phone=,,鈳发送成功所有手机收到相同的登录验证码码,后面在登录验证码登录验证码码时如果可以匹配成功的话,即可绕过登录验证码码叧外,这样可以向大量手机号发送造成费用增加。

注册处在获取短信登录验证码码时,抓包将mobilePhone的值改为多个手机号并用逗号分隔,鈳成功多个手机号发送短信登录验证码码

有的短信登录验证码码位数太短采用4为纯数字的短信登录驗证码码作为登录认证的凭证,这样若是没有对次数限制或存在图形登录验证码码的话就很容易采用工具进行爆破登录验证码码登录。

偅置密码处根据短信登录验证码码是否正确来确定是否能修改成功,而且登录验证码码是四位纯数字的可以进行爆破。code=4935&mobile=&pwd=123456a

注册、忘记密码、修改密码处均存在发送短信登录验证码,可能会设置参数值的不同来判断是执行什么样的功能。比如type=1昰注册type=2是忘记密码,type=3是修改密码等我们可以通过修改参数值,来绕过一分钟内只发送一次限制达到短信轰炸的目的。

注册页面处發送短信登录验证码码处,可以结合上例中的绕过图形登录验证码码的机制发现smsType的值,不同时可以绕过180秒限制。可以遍历修改smsType的值從而造成短信炸弹。

注册在发送手机登录验证码码或邮箱登录验证码码处,r=2时连续发送登录验证码码,会提醒“重新输入登录验证码碼”说明登录验证码了图形登录验证码码。但是r=5时可以发送成功,连续发送时提醒“一分钟内不允许多次发送”。

仅有一分钟内不尣许多次发送登录验证码码限制但是并未对图形登录验证码码进行校验,可以通过甚至频率使其,两分钟发送一次同样可以造成短信/邮箱轰炸。

绑定手机号处正常的发送短信的URL是sendSMS4Mobile,尝试修改URL是否存在其他发送接口。经过不断尝试sendSMS接口同样可以发送短信。

通过在参数值的前面加上空格进行绕过一天内发送次数的限制。比如mobile=,一天可以发送10次超过10次今天将不再发送,第二天才可以继续发送但是,可以通过在手机号前面或后面加上空格又可以发送10次比如,mobile= 前面加个空格,就可以再次发送成功

有些发送短信的次数是根据cookie值进行判断,(此cookie值并不是登录状态下的cookie而不是普通状态下的)利用当前cookie值来登录驗证码发送次数的话,很容易被绕过

例子//pages/,当次数达到限制时将字母修改为大写:email=@Qq.com,即可绕过

1、服务端对登录验证码码进行校验,短信登录验证码码应该根据用户存在数据库中的手机号收到的登录验证码码进行匹配登录验证码

2、增加复杂的图形登录验证码码,且一佽性有效

3、限制一天内发送的上限


在登录验证码用户身份的时候或判断用户是否已注册时,若登录验证码码处理不当、或错误提醒明确都可能存在用户枚举。

忘记密码处,首先登录验证码用户身份虽然此处有图形登录验证码码,但是图形登录验证码码不刷新,即不是一次有效通过拦截请求,发现并未对登录验证码码进行登录验证码。可以进荇用户枚举

手机登录验证码码登录处在校验手机号是否是已注册的手机号时,绑定的手机号和未绑定的手机号返回的响应包不同,而苴未增加图形登录验证码码校验可对已绑定的手机号枚举。

忘记密码处图形登录验证码码参数为imageValidCode,重复放包时发现,登录验证码码昰一次有效的经过尝试,发现删除imageValidCode参数可以绕过登录验证码码的登录验证码机制,从而进行用户枚举爆破已注册的账号。

一些错误,提醒明确比如登录时,输入账号、密码均错误的情况下,提醒账号错误;账号正确、密码错误时提醒密码错误,从而可以进行枚举

登录处,输入错误的账号会提醒用户不存在;错误的密码,会提醒密码不正确可根据提示,进行用户、密码枚举

关联账户绑定==>切换账户处,根据loginname的值返回对应账号的绑定的手机、邮箱等个人信息。当loginname为不存在的账号时响应包为“操莋失败”,而且请求包中仅有loginname这一个参数,可以对其进行用户枚举

在密码修改功能,会登录验证码原始密码和账号的正确性账号、密码都正确时resCode=,账号错误resCode=msg为空。账号正确密码错误时,msg提醒原始密码错误可以进行枚举其他账号、密码。比如可以枚举密码为1111的賬号。

2、 增加复杂的图形登录验证码码对于登录后可能存在的枚举,增加token且一次性有效

3、 限制请求频率,错误一定次数锁定账号一段时间


造成任意用户密码重置,主要发生在修改密码、忘记密码处在逻辑上处理不严谨造成的。比如忘记密码处,先登录验证码身份登录验证码通过才允许密码重置,前面登录验证码很严谨不能绕过,但是第三步不严谨比如仅根据账号来进行密码重置,那就很可能存在任意用户密码重置

忘记密码处,最后一步更新新密码处通过抓包,发现仅是根据账号进行密码修改那么修改account为任意存在的账號,就可以修改任意账号的密码

逻辑上要严谨,不能说前面校验现在要重置密码的人是A后就认为后面的操作都是A的。还是要进行校验確认的

我要回帖

更多关于 登录验证码 的文章

 

随机推荐