管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>电脑安全教程

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

  缺陷位置:密码重置链接中,参数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 理财的网站,应该比较大方,给发个礼物不是啥问题吧。这样漏洞就会越来越少的,嘿嘿~~

tech首页 更多tech