SOME - Same Origin Method Execution
最后更新于
最后更新于
WhiteIntel 是一个由暗网推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件的侵害。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
有时您可以在页面中执行一些有限的javascript。例如,在您可以控制将执行的回调值的情况下。
在这种情况下,您可以做的最好的事情之一是访问DOM以调用您可以在其中找到的任何敏感操作(如单击按钮)。但是,通常您会在没有任何有趣内容的DOM中找到此漏洞。
在这些情况下,此攻击将非常有用,因为其目标是能够滥用来自同一域的不同页面中的DOM内的有限JS执行,以执行更有趣的操作。
基本上,攻击流程如下:
找到可以滥用的回调(可能仅限于[\w\._])。
如果没有限制且您可以执行任何JS,则可以像常规XSS一样滥用此功能
使受害者打开由攻击者控制的页面
页面将在一个不同的窗口中打开(新窗口将具有引用初始窗口的对象**opener
**)
初始页面将加载包含有趣DOM的页面。
第二个页面将加载滥用回调的易受攻击页面,并使用**opener
对象来访问并执行初始页面中的某些操作**(现在包含有趣DOM)。
请注意,即使初始页面在创建第二个页面后访问新URL,第二个页面的**opener
对象仍然是对新DOM中第一个页面的有效引用**。
此外,为了使第二个页面能够使用opener对象,两个页面必须在同一源中。这就是为什么为了滥用此漏洞,您需要找到某种同源XSS的原因。
您可以使用此表单来生成PoC以利用此类型的漏洞:https://www.someattack.com/Playground/SOMEGenerator
为了找到具有单击的HTML元素的DOM路径,您可以使用此浏览器扩展程序:https://www.someattack.com/Playground/targeting_tool
您可以在https://www.someattack.com/Playground/找到一个易受攻击的示例
请注意,在此示例中,服务器正在生成javascript代码并根据回调参数的内容将其添加到HTML中:<script>opener.{callbacl_content}</script>
。这就是为什么在此示例中,您不需要显式指示使用opener
。
还请查看此CTF解密:https://ctftime.org/writeup/36068