欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:2013-05-31 作者:佚名 来源:红黑联盟 
缺陷位置:密码重置链接中,参数newValidCode设置过于简单(6位纯数字),且发送请求时,无次数限制,可以通过爆破重置任意用户密码。测试过程1老规矩,点击忘记密码。2可以看到,让填邮箱地址,这个也就是可以用来登录用的邮箱。那就果断填上小号的邮箱呗。3填

缺陷位置:密码重置链接中,参数newValidCode设置过于简单(6位纯数字),且发送请求时,无次数限制,可以通过爆破重置任意用户密码。

测试过程

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 理财的网站,应该比较大方,给发个礼物不是啥问题吧。这样漏洞就会越来越少的,嘿嘿~~

相关推荐