任意密码重置攻击方式总结

今天看优秀报告看到好几个任意密码重置得洞,去乌云逛了一下以前漏洞的案例发现还有有些方式我没曾看到,遂写一篇文章总结,也就相当于一个漏洞阅读笔记

0x01:通过篡改修改密码功能的URL

某站密码找回界面如下图,通过手机号找回,点击找回并利用burp拦截请求包

可以看到请求包里的手机号没有经过任何处理,在查看源码的过程中发现了重置密码等的url

随便输入一个验证码,点击下一步利用burp将url改为这个/forgerpwd/phoneValidateNext.do,即可成功绕过验证码的验证直接进入修改密码界面

0x02:通过篡改修改密码请求包中某些关键参数

某网站修改密码功能界面

随便输入一个账户名,点击下一步,burp抓包发现该url链接为:

https://xxx.com/lostPwd/verifyIdentity?key=865ea2a1e35e91b72c86d44ca2d32461 ,发现其中有个key的参数

到下一步需要手机验证码验证身份

发现设置新密码链接为 https://xxx.com/lostPwd/setNewPwd?key=xxxxxx,这个key在第一步就返回了,我们直接替换key,发现直接访问到了设置密码界面

还有一些修改重置密码中的userid参数等方式

0x03:通过burp拦截并修改响应包内容

burp默认不会拦截response包的,设置如下

打开proxy模块,并开启如下选项

添加一条规则,点击add

再次进行抓包时点击forward即可看到拦截到了响应包

一般将响应包中了false改为true,0改为1,false改为success等等,例如某网站找回密码功能如下图所示

点击提交之后,通过手机号进行找回

用户名为其他用户名,手机号为自己能正常接受信息的手机号,可以看到网站提示手机号号账户不匹配,我们利用手机号获取验证码输入,添加提交并利用burp抓取返回包

将false改为true,点击forward,发现成功绕过了限制进入了重置密码界面

0x04:修改重置密码时的用户名或邮箱

例如某app修改密码功能界面如下

我们输入自己邮箱和接受到的验证码,点击下一步抓包

将请求包中的账户修改为其他用户名或邮箱,发现成功修改其他用户密码

0x05:用户名和手机号未绑定

例如某网站修改密码功能如下图所示

点击获取验证码,burp抓包把手机号换成自己的手机号

可成功获取到验证码,并修改该用户的密码

0x06:验证码和手机号未绑定

首先我们在网站忘记密码功能处填入手机号码,点击发送验证码

同时我们再开一个同样的页面,填入其他用户的手机号

用我们手机号接收到的验证码,可以成功修改该手机号用户的密码。

0x07:其它

这个没什么可以说的,第一个验证码4位数字,而且网站没有对请求做限制导致验证码可爆破

第二个也就是直接再返回包中回显了验证码内容,现在的站估计也没这种问题了

注:以下漏洞截图来自于互联网

发表评论

电子邮件地址不会被公开。 必填项已用*标注