win2008r2用户账户控制什么意思_敏感信息泄露+IDOR+密码确认绕过=账户劫持「建议收藏」

win2008r2用户账户控制什么意思_敏感信息泄露+IDOR+密码确认绕过=账户劫持「建议收藏」今天分享的这篇Writeup是作者在HackerOne上某个邀请测试项目的发现,目标网站存在不安全的访问控制措施,可以利用其导致的敏感信息泄露(auth_token)+密码重置限制绕过,以越权(IDOR)方式,实现网站任意账户劫持(Takeover)。整个测试过程是一次最基本的IDOR和密码限制绕过操作,一起来看看。获得账户auth_token目标网站是一个工作招聘门户网站,测试保密原…

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

9fbf6a7561c8c5f592ee77cc4c0b6164.png

今天分享的这篇Writeup是作者在HackerOne上某个邀请测试项目的发现,目标网站存在不安全的访问控制措施,可以利用其导致的敏感信息泄露(auth_token) +密码重置限制绕过,以越权(IDOR)方式,实现网站任意账户劫持(Takeover)。整个测试过程是一次最基本的IDOR和密码限制绕过操作,一起来看看。

获得账户auth_token

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

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

4b364939fe3ae5fb65cc025f4a025be4.png

其中包含了auth_token的信息:

“redirect_url”:“/?auth_token=_v2_8dsf8asdf12ad4f5a4sdf56as1df65asdf56sd4ff&contact_id=11cb26ae&e    xpire=1152315525”

账户劫持(Account Takeover)

哦,这就有点意思了,于是,我把这个邮箱更改为我另一个与注册账号对应的邮箱:

73c20cec552046b8e08f9d627f569f96.png就这样!也就是说,通过“/candidate/create”这个路径我就能获取网站注册用户的authtoken信息了。现在我只需要一个利用它的点就行,接着,我在 burpsuite的代理历史中查看有哪些请求用到了authtoken,哦,很简单,就是这个:

https://redacted.com/?authtoken=d8fs4ds8fdsf84dsf8dsfads8fasd6f84dsf684dsafccv68f4&contactid=52z1d5d4&expire=1152315525

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

94e50e48d9111adf952f4fb24fc4cbc3.png

该死,如何来绕过它呢?

绕过密码确认限制

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

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

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

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

c18adfba859997ca93964749eb490a18.png

漏洞上报后,厂商在四天之内做了修复,最终我也获得了$2,500美金的奖励。但后来,我又发现目标网站还存在一个类似上述可通过更改邮箱绕过密码确认的路径“/contact/api/update/v1”,上报之后,我又获得了厂商$150美金奖励。

*参考来源:medium,clouds编译,转载请注明来自FreeBuf.COM

1211a8ed62aa2061bfe28a89c93036ed.gif

精彩推荐

29829ecda530c76016343dd6244ed0ee.png

9738235b5b42e9a7387cc38728a8aaaf.png29829ecda530c76016343dd6244ed0ee.png9a1811ae47380d8fdd98b6f089d1d4c2.png7a1090fdca0b9019fc3fcc8d49fae16f.png7ad6c16a971d849105dfe6008e700e96.giff86f284171ace48faa0743a95f1783c8.gif

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

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

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

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

(0)
blank

相关推荐

  • ajax出现”parsererror”错误

    ajax出现”parsererror”错误1.后台控制器方法上加了@ResponseBody注解,但AJAX未加dataType:“JSON”2.后台控制器方法的返回值与指定的返回值类型不同

  • gdb调试python程序(gdb和seggar)

    一、什么是coredump我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状…

  • 安捷伦示波器连接电脑没反应_安捷伦示波器升级

    安捷伦示波器连接电脑没反应_安捷伦示波器升级调试或者测试电路的过程中,示波器是比不可少的东西,且常需要保存示波器的波形,可以通过一条网线把示波器与电脑连接起来,这样就可以在电脑上方便的保存波形图,怎么实现示波器和电脑连接,我们以安捷伦示波器DSO7052B为例,其他示波器类似。1.首先通过一条网线连接示波器和电脑,在电脑上找到:网络和共享中心->以太网状态->以太网属性->TCP/IPv4协议,点击属性2…

    2022年10月12日
  • all in all是什么意思啊_22449.1000安装失败

    all in all是什么意思啊_22449.1000安装失败apache 无法启动 (98)Address already in use: AH00072 make_sock: could not bind to address 0.0.0.0:80…

  • Scala Hello 示例

    Scala Hello 示例

    2021年12月17日
  • QQ图片文件夹说明及清理

    QQ图片文件夹说明及清理C2C(个人与好友之间的图片传输,清空与否依照个人意愿)Group(群组之间的图片传输,很乱建议全部清空)MarktingMsgCachePic(Markting+Msg+Cache+Pic意思是消息图片缓冲集合,就是你聊天时候发送的一些图片保存的地方,无用,可删除)MsgWander(漫游信息,浏览信息,可删)SharePic(分享图片,可删)*注意不要删掉文件夹(比如SharePic)要打开选

发表回复

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

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