一个有意思的组合漏洞场景

文章来源微信公众号:BYpass

漏洞往往就隐藏在一些细节里面,在渗透测试中,去分析请求中的每个参数,并注意检查页面返回的源代码。

比如,当参数拼接到SQL中执行,就存在SQL注入,当参数直接输出到前端,就存在XSS跨站脚本。

实现一个业务功能,也有着很多不同的实现方式,当业务逻辑考虑不严谨的时候,同一个业务功能模块之下,存在着很多漏洞场景。

本文分享一个有意思的案例,通过漏洞组合实现任意密码重置,同时,也是验证码验证一次有效的利用场景。

1、在这个密码重置模块里面,只需输入手机号和手机验证码即可进入修改密码界面,看到这个界面,很多人会尝试暴力破解,但会发现验证码仅能使用一次,爆破成功,但输入的时候已经失效了,怎么办?
69865-n3lb84zqew.png
2、 我们填写用户的手机号码,获取验证码,随意输入几个验证码,抓包:
00714-ssszdlmf1f8.png
我们注意到返回的是失败,如果返回成功,是什么样子呢?通过测试,如果验证码输入正确,返回{"data":"success"}。

3、修改返回包为{"data":"success"},即可绕过验证码验证,进入修改密码界面。

4、在这里,输入两次新密码,提示密码修改失败。查看HTTP交互过程,Token值不变。猜想:如何把Token变成有效的,这样才能修改成功。
23982-eruizlohthp.png
{"Token":"eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmYW5ydWFuIiwiaWF0IjoxNTYyOTI0MzUxLCJzdWIiOiIxNDA0MDI5OSIsImp0aSI6Imp3dCJ0.Mo0KuEZwOuT6pPsJCydgKD-qVjIijaVAWDX7tc-k4NY","newPassword":" IGFiY2RlMTIz"}

5、这里,我们利用系统的另一个缺陷,因对手机验证次数没有限制,遍历000000-999999区间,暴力破解手机验证码,成功后返回success

6、此时,输入用户新密码,保存后修改成功。
88082-w7wl79hjyo.png

简单来说,就是利用前端验证绕过+验证码暴力破解,实现任意密码重置漏洞 。

似乎很难再找到人去分享,发现一种新的漏洞利用场景的喜悦。----致那些曾经一起玩渗透的朋友。

本文经授权后发布,本文观点不代表立场,转载请联系原作者。
使用Python进行防病毒免杀
« 上一篇 06-02
一文带你crack著名黑客工具hackbar
下一篇 » 06-03

相关推荐

红队防猝死手册

文章来源:https://github.com/zhutougg/RedteamStandard一切为了不丢分工作环境工作时全部操作均在虚拟机中完成虚拟机...

渗透某勒索服务器

这是 酒仙桥六号部队 的第 74 篇文章。全文共计1300个字,预计阅读时长5分钟。文章来源:六号刃部 - 酒仙桥六号部队 事情经过和我一起合租的室友喜欢...

Android渗透工具集合

Android安全测试更多地被安全行业用来测试Android应用程序中的漏洞。下面将列举全面的Android渗透测试工具和资源列表,其涵盖了在Andro...