漏洞挖掘丨敏感信息泄露+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),那么我自己的邮箱就能收到服务端发来的一封密码重置链接邮件了。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2020年PHP中级面试知识点及答案[通俗易懂]

    2020年PHP中级面试知识点及答案

  • setContentView剖析[通俗易懂]

    setContentView剖析[通俗易懂]1、setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来。2、setContentView必须要放在findviewbyid之前,因为view在加载之前是无法引用的。3、setContentView最本质的作用是为要显示的view分配内存。4、act

  • robotium有源码

    robotium有源码Robotium环境搭建及有源码测试用例编写:http://blog.sina.com.cn/s/blog_68f262210102v6yf.htmlAndroid自动化测试之Robotium学习:http://www.2cto.com/kf/201209/157011.htmlRobotium:http://www.2cto.com/kf/201304/205363.ht

  • 不是单组分组函数

    不是单组分组函数问题:一:SELECT tablespace_name, SUM(bytes) freeFROM dba_free_space不是单组分组函数原因: 1、如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:  SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spa…

  • Ubuntu下很给力的下载工具

    Ubuntu下很给力的下载工具

  • 数据中心机房建设方案

    数据中心机房建设方案第一章概述 项目建设需求 总体需求 机房工程设计施工的安全技术、劳动保护、防火要求应按国家有关部门颁布的现行规定执行。 设计施工单位必须按要求施工。为保证设计和施工程序的严密性,如有设计变更,应按有关程序办理签证并保存相应的文档资料。 设计施工单位必须认真做好施工组织设计和准备工作。 设计施工单位须依照国内及国际最新颁布的标准、规范进行各系统的施工、安装。 业主方保…

发表回复

您的电子邮箱地址不会被公开。

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