SOME - Same Origin Method Execution

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

WhiteIntel是一个由暗网推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件侵害

WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:


同源方法执行

有时您可以在页面中执行一些有限的javascript。例如,在您可以控制将执行的回调值的情况下。

在这种情况下,您可以做的最好的事情之一是访问DOM以调用您可以在其中找到的任何敏感操作(如单击按钮)。但是,通常您会在没有任何有趣内容的DOM中找到此漏洞。

在这些情况下,此攻击将非常有用,因为其目标是能够滥用来自同一域的不同页面中的DOM内的有限JS执行,并具有许多有趣的操作。

基本上,攻击流程如下:

  • 找到一个可以滥用的回调(可能限制为[\w\._])。

  • 如果没有限制并且您可以执行任何JS,则可以像常规XSS一样滥用此功能

  • 使受害者打开攻击者控制的页面

  • 页面将在一个不同的窗口中打开(新窗口将具有对象**opener**引用初始窗口)

  • 初始页面将加载包含有趣DOM的页面

  • 第二个页面将加载滥用回调的易受攻击页面,并使用**opener对象来访问并在初始页面中执行某些操作**(现在包含有趣DOM)。

请注意,即使初始页面在创建第二个页面后访问新URL,第二个页面的**opener对象仍然是对新DOM中第一个页面的有效引用**。

此外,为了使第二个页面能够使用opener对象,两个页面必须在同一源中。这就是为什么为了滥用此漏洞,您需要找到某种同源XSS的原因。

利用

示例

  • 您可以在https://www.someattack.com/Playground/找到一个易受攻击的示例

  • 请注意,在此示例中,服务器正在生成javascript代码并根据回调参数的内容将其添加到HTML中:<script>opener.{callbacl_content}</script>。这就是为什么在此示例中,您不需要显式指示使用opener

  • 还请查看此CTF解密:https://ctftime.org/writeup/36068

参考资料

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

最后更新于