freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

新型渗透思路:两种密码重置之综合利用
2018-04-02 08:30:02
所属地 广东省

*本文原创作者:风之传说,本文属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  首先,打开页面。

 图片.png

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

图片.png

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

图片.png

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


图片.png

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

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

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

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

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

账号2:

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

图片.png

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

图片.png

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

我们删除key2的参数试试:

图片.png

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

图片.png

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

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

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

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

# 密码重置
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者