前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新型渗透思路:两种密码重置之综合利用

新型渗透思路:两种密码重置之综合利用

作者头像
FB客服
发布2018-07-30 16:04:29
5200
发布2018-07-30 16:04:29
举报
文章被收录于专栏:FreeBuf

*本文原创作者:风之传说,本文属FreeBuf原创奖励计划,未经许可禁止转载

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区。

首先,在大家了解此漏洞的基础上,需要先了解2种密码重置的方式以便于漏洞理解。

第一种:认证值未起作用。 http://www.freebuf.com/articles/web/164090.html 第二种:用户混淆 http://www.freebuf.com/articles/web/162152.html

没有空看完那两篇文章的童鞋,可以直接看我讲解。有时间的可以跳过讲解直接看文章。

第一种:

就是用户在密码重置的时候,返回一串密文作为认证值,但是由于程序编写错误,这个认证值未起作用,可以使用任意认证值进行密码重置。

第二种:

就是用已知账号1填入身份验证,进入第三步,设置新密码处暂停。然后打开浏览器用账号2进入第二步,这样cookies就被刷新为账号2的,重置的就是账号2的密码了。

此处漏洞,有点特殊,需要两种密码重置思路进行配合一起绕过,达到密码重置的目的,属于密码重置更深入的利用。

以下域名用hacker替代,进行实战演示:

账号1:

http://loan.hacker.com/fpwd1 首先,打开页面。

填入自己注册的账号,然后点击下一步:

然后填入手机接收的验证码,点击下一步:

到第三步后,然后点击下一步进行抓包,记住这个包不能提交出去:

可以看到,系统验证码key key2是加密的。在此处猜测:

key是第一步生成的,作用为确定用户账户。

key2是第二步生成的,是作为像验证码一样的东西作为绑定该账号。

也就是我们要同时知道key和key2的密文才可以重置密码。难度加大。

在此处,我们考虑使用第二种方法,使用用户混淆来尝试下,是否可以重置密码。

账号2:

我们在相同浏览器,再次打开一个页面重置15041452711账号,来到第二步,看到了浏览器有这个东西:

然后将key替换我们刚才账号1第三步抓取的数据包,然后进行提交:

替换完后,提交,显示失败,现实是很骨感的。我们刚才分析过,key是作为用户标识,所以此处必须匹配key2才可以进行密码重置。 但是这个key2无法在页面中获得。于是想到第一种方法,用户的认证值是否可以为空呢?

我们删除key2的参数试试:

然后成功设置15041452711的账号。我们登录看看:

可以看到,密码重置成功。经过我大量测试,发现只有2种密码重置方法同时配合使用才可以使得密码重置成功。在第二步直接获取key,第三步删除key2也是无法重置用户密码的。

有时候,细心点,就能发现别人发现不了的问题。

另外,此漏洞并未修复,主要是分享技术,已打码,请勿尝试。

*本文原创作者:风之传说,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 账号1:
  • 账号2:
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档