1 老规矩,点击忘记密码。

有利网任意用户密码重置及修补


2 可以看到,让填邮箱地址,这个也就是可以用来登录用的邮箱。

那就果断填上小号的邮箱呗。

有利网任意用户密码重置及修补


3 填好邮箱后,点击下一步,邮箱中会收到如下图所示的,一个重置密码的链接。(看不见图上的字就点击看大图吧)

有利网任意用户密码重置及修补


4 用小号多次测试后,可以得到图3中的分析,主要就是那个newValidCode的字符串在验证。

访问链接,可以看到可以直接修改密码了。

有利网任意用户密码重置及修补


5 所以问题变的很简单了,只要爆破newValidCode就可以了。

6 打开burps,随便输入新密码,抓包。这里注意地址栏的地址将newValidCode写成任意的6位数字,因为我们重置密码的时候是不清楚这个数据是多少的。

mailAuthenId这个可以自己用自己的帐号重置自己密码去查看,然后重置别人的时候,将之前自己得到的数字加1就可以了。

(ps:无论newValidCode参数是什么,访问那个链接都会正常显示修改密码的页面,不过newValidCode不正确的话,不会修改密码成功而已)

控制变量,只留下图中所示的待爆破的变量即可。

有利网任意用户密码重置及修补


7 然后爆破请求,可以看到这里出现了明显的变动,说明这里就是正确的密码。

有利网任意用户密码重置及修补


8 用变动位置的数据去测试修改密码的地址会出现如下图。

这个图就说明密码已经修改成功了,修改密码的链接失效了而已。

去用爆破出的密码去测试登录,成功登录。

图7
 



有利网任意用户密码重置及修补



由于newValidCode参数的验证字符只有6位纯数字,所以多线程去爆破,很快就可以重置密码了。。。

修补:

1 newValidCode设置的复杂点,最好是26个字母(区分大小写)和10个数字的组合。

2 提交修改密码的请求限制下,可以在提交请求的时候加上验证码,或者限制每天重置错误10次当天就不得在重置密码。

3 理财的网站,应该比较大方,给发个礼物不是啥问题吧。这样漏洞就会越来越少的,嘿嘿~~