专业的社区
测试客户端原型污染
最近更新时间:2022年7月1日
阅读时间:3分钟
DOM Invader提供了许多功能,可帮助您测试客户端原型污染漏洞。这些使您能够执行以下关键任务:
自动检测到URL中原型污染和通过Web消息发送的任何JSON对象的原型污染的来源。beplay体育能用吗这包括使用相同源检测替代技术。
通过污染
Object.Prototype
使用任何发现的来源。然后,您可以通过浏览器控制台手动验证漏洞。扫描您可以用来制作利用的潜在小工具。
实现原型污染
为了避免干扰目标站点的功能,DOM Invader的原型污染功能默认情况下是禁用的。启用这些功能:
转到DOM Invader设置菜单。
切换开关以便原型污染正在启用。
点击重新加载刷新浏览器。这对于您的更改生效是必要的。
现在,当您浏览时,Dom Invader现在扫描原型污染源。
检测原型污染的来源
启用原型污染后,DOM Invader会自动检查该页面的资源,使您能够将任意属性添加到Object.Prototype
。它标识的任何来源都显示在dom查看,以及一些有用的信息和功能,以进行进一步测试。
在此示例中,DOM Invader已经确定了两种污染的潜在技术Object.Prototype
使用位置
资源。
手动确认原型污染的来源
一旦Dom Invader确定了原型污染的潜在来源,它还可以帮助您手动确认这一点。
手动测试是否可以通过此源来测试原型污染:
来自dom查看,单击测试相关源旁边的按钮。Dom Invader打开一个新选项卡,其中使用选定的源将任意属性添加到
Object.Prototype
。在新标签中,转到浏览器控制台。请注意,Dom Invader已自动输出
Object.Prototype
。扩展节点以确认该对象包含概念验证
TestProperty
。在控制台中,创建一个新对象:
令MyObject = {};
确认您的新对象已继承
TestProperty
通过原型链:console.log(myobject.testproperty);//输出:'dom_invader_pp_poc'
扫描原型污染小工具
除非您还可以访问“小工具”属性,否则原型污染源是无用的。这是任何可转移到水槽的可控制的属性,而无需适当消毒。手动找到这样的小工具非常乏味,但是Dom Invader可以自动化此过程。
使用特定来源扫描小工具:
来自dom查看,单击扫描小工具在Dom Invader发现的任何原型污染源旁边的按钮。Dom Invader打开一个新标签,并开始扫描合适的小工具。
在同一选项卡中,打开Dom Invader在DevTools面板中的标签。扫描完成后,dom视图显示DOM Invader能够通过确定的小工具访问的所有水槽。在下面的示例中,一个称为的小工具属性称为
html
被传给了Innerhtml
下沉。
生成概念证明利用
一旦Dom Invader找到用于原型污染的小工具,它就可以通过组合来源,小工具和下沉来自动生成概念验证XSS。
只需单击发现的水槽旁边的利用按钮即可。Dom Invader打开了一个新窗口,它成功调用警报()
。
阅读更多
DOM Invader是高度可配置的。有关DOM Invader的原型污染功能以及如何微调特定网站的行为的更多信息,请参见原型污染设置。