漏洞挖掘丨敏感信息泄露+IDOR+密码确认绕过=账户劫持

漏洞挖掘丨敏感信息泄露+IDOR+密码确认绕过=账户劫持获得账户auth_token目标网站是一个工作招聘门户网站,测试保密原因暂且称其为redacted.com。一开始,我登录以应聘者身份去测试CSRF或某些存储型XSS,但没什么发现。接下来,我就想到了越权测试(IDOR),为此,我又创建了另外一个账号,两个账号一起可以测试如注册、登录、忘记密码等功能点的越权可能。创建账号前我开启了流量抓包想看看具体服务端的响应,注册开始时,网站会跳出一个提示,…

大家好,又见面了,我是你们的朋友全栈君。

获得账户auth_token
目标网站是一个工作招聘门户网站,测试保密原因暂且称其为redacted.com。一开始,我登录以应聘者身份去测试CSRF或某些存储型XSS,但没什么发现。接下来,我就想到了越权测试(IDOR),为此,我又创建了另外一个账号,两个账号一起可以测试如注册、登录、忘记密码等功能点的越权可能。

创建账号前我开启了流量抓包想看看具体服务端的响应,注册开始时,网站会跳出一个提示,输入注册邮箱检查是否是注册用户。在这里,我随便输入了一个未注册过的邮箱,服务端竟然有了异常响应,如下:

在这里插入图片描述

其中包含了auth_token的信息:

“redirect_url”:“/?auth_token=_v2_8dsf8as




df12ad4f5a4sdf56as1df65asdf56sd4ff&contact_id=11cb26ae&e 




xpire=1152315525”

账户劫持(Account Takeover)
哦,这就有点意思了,于是,我把这个邮箱更改为我另一个与注册账号对应的邮箱:
[外链图片转存失败(img-lm7Xgy2g-1567064367787)(https://image.3001.net/images/20190723/1563874931_5d36d673dfed4.jpeg)]就这样!也就是说,通过“/candidate/create”这个路径我就能获取网站注册用户的auth_token信息了。现在我只需要一个利用它的点就行,接着,我在 burpsuite的代理历史中查看有哪些请求用到了auth_token,哦,很简单,就是这个:

https://redacted.com/?auth_token=d8fs4ds8fdsf84dsf8dsfads8fasd6f84dsf684dsafccv68f4&contact_id=52z1d5d4&expire=1152315525

我开启了浏览器隐身模式访问了上述链接,BOOM,就这么简单地登录到了受害者账户(另一测试账户)中去了,完美的账户劫持。但当我查看受害者账户中的个人资料想更改密码或注册邮箱时,却无法看到个人资料信息,而且跳出来一个密码确认输入框(仔细观察,其中包含Forgot Password忘记密码功能):

[外链图片转存失败(img-RVm6ViEg-1567064402280)(https://image.3001.net/images/20190723/1563875011_5d36d6c3e5718.jpeg)]

该死,如何来绕过它呢?

绕过密码确认限制
先来一种猜想:要是我把受害都注册邮箱更改为我自己的邮箱,然后利用忘记密码功能发送密码更改请求,那我的邮箱会不会收到密码重置链接呢?来试试看。

于是,我在我自己的测试账户中找到了注册邮箱更改路径为 ‘/api/profile’,该路径下,通过类似{“email_address”:“attackers@gmail.com”}`的JSON格式PATCH请求,就能实现注册邮箱更改。

接下来,我在受害者账户登录cookie下,以这种方式在“https://redacted.com/api/profile”下,发送了JSON格式的PATCH请求-‘{“email_address”:“mynewmail@gmail.com”}’ :

04.jpeg响应成功显示请求有效,那么之后,我只需登录受害者账户环境,点击个人资料查看,在跳出的密码确认框那点击忘记密码(Forgot Password),那么我自己的邮箱就能收到服务端发来的一封密码重置链接邮件了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132387.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ajax教程_ajax是服务器端动态网页技术

    Ajax教程_ajax是服务器端动态网页技术Ajax教程Ajax能做什么Ajax是一种异步请求数据的web开发技术,目前主要用于异步,大家都知道,浏览器主线程是单线程的,也就是一次只能干一件事,以Ajax就是让浏览器当主线程完成后去干别的事

    2022年8月4日
    5
  • PS PhotoShop CS5 CS6 序列号 安装

    PS PhotoShop CS5 CS6 序列号 安装

    2021年8月23日
    59
  • pycharm与anaconda_python关系抽取

    pycharm与anaconda_python关系抽取1、Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。虽然Python3.5自带了一个解释器IDLE用来执行.py脚本,但是却不利于我们书写调试大量的代码。常见的是用Notepade++写完脚本,再用idle来执行,但却不便于调试。这时候就出现了PyCharm等IDE,来帮助我们调试开发。2、PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用P…

    2022年8月29日
    3
  • JAVA之文件操作[通俗易懂]

    JAVA之文件操作[通俗易懂]Console此类包含多个方法,可访问与当前Java虚拟机关联的基于字符的控制台设备(如果有)。虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。如果此虚拟机具

    2025年7月17日
    3
  • java生成mysql数据库建表语句、字段、字段类型、字段注释,可实现不用mysqldump备份数据库「建议收藏」

    java生成mysql数据库建表语句、字段、字段类型、字段注释,可实现不用mysqldump备份数据库「建议收藏」使用mysqldump备份数据库也是可行的,因为每次备份的时候都需要mysqldump这个文件,我在windows备份时没问题,但是放到linux上面时,centos系统死活不认这个文件,但又不想装mysql,一气之下自己研究了个不需要mysqldump就可以备份的程序,如果看了以下代码还有不懂的地方,这个网站有我的联系方式http://www.huashuku.top/about.ht…

    2025年10月6日
    2
  • IdeaVim-常用操作「建议收藏」

    IdeaVim-常用操作「建议收藏」IdeaVim简介IdeaVim是IntelliJIDEA的一款插件,他提高了我们写代码的速度,对代码的跳转,查找也很友好。安装位置安装之后它在Tools>VimEmulator具体操作i模式i模式即为编辑模式,按下字母i开启就可以打字。Esc从i模式切换为Vim,按下键盘的Esc键切回Vim。方向键上:k,下:j,左:h,右:…

    2022年5月5日
    195

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号