浅谈SRC中关于密码重置漏洞的相关思路

admin 2024年4月23日01:23:15评论3 views字数 1003阅读3分20秒阅读模式

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,禁止私自转载,如需转载,请联系作者!!!!

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!!!!!

密码重置思路

在挖掘漏洞过程中,遇到重置密码时,需要考虑一下几种可能:

1、修改响应包中的状态码。判断后端是否与参数的结果作为最终依据。

2、依据token修改密码,则token不变,替换邮箱。判断对token是否具有严格校验。

3、邮箱链接修改密码,则在向邮箱发送重置密码链接时,修改数据包中的host(指向攻击者服务器,受害者点击邮箱链接时将值回传到攻击者服务器)。判断后端写入链接时是否根据host头。

4、短信/邮箱验证码不变,抓包替换数据包邮箱/手机号。判断对验证码是否有严格把控。

5、验证码四位数可爆破。判断是否有token、频率等安全机制。

5万能验证码,如:12345611111166666688888等。

案例‍‍‍‍

src挖掘过程中,需要根据业务的功能判断、分析可能哪些逻辑缺陷并进行选型。

就比如在忘记密码处,首先滑块验证存在缺陷,并且并没有进行请求频率控制,导致可以对未知账号进行枚举。

浅谈SRC中关于密码重置漏洞的相关思路

点击下一步时,会进行滑块验证,但此滑块验证不会实时刷新校验,且用户名存在/不存在会有不一样的状态返回,这就导致可以枚举到存在的用户。

浅谈SRC中关于密码重置漏洞的相关思路

输入存在的用户则会进入下一个页面。‍‍

浅谈SRC中关于密码重置漏洞的相关思路

经过一系列尝试之后,发现auth_code参数是存在万能验证码的,大概是为了给开发调试及测试人员特地做的一个代码块,后期交付后,开发并没有在后端代码中注释掉该代码块,导致系统继续使用这个存在风险的功能。

万能验证码:123456
注:由于是没有做频率限制的,因此可以枚举一些常见的万能验证码。

浅谈SRC中关于密码重置漏洞的相关思路

总结

1、在挖掘功能点时,需要不断尝试并分析业务,无论是针对特定功能点还是整体业务。逻辑漏洞通常隐藏在这些关键点上,一旦忽略可能导致错失重要发现。

2、在实现短信验证功能时,如手机/邮箱登录、忘记密码、某些需要短信验证等地方;通常会使用万能验证码进行调试和测试,因为开发者和测试人员需要验证接口正常运作,而且频繁调用短信接口繁琐的同时也会耗费费用。因此,常会开辟一个万能验证码代码块的可能性较高。注意到这一点可能会有意向不到的收获。

关注我们

原文始发于微信公众号(极星信安):浅谈SRC中关于密码重置漏洞的相关思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月23日01:23:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅谈SRC中关于密码重置漏洞的相关思路http://cn-sec.com/archives/2679355.html

发表评论

匿名网友 填写信息