Meteor中的三个支架XSS是否安全



我想知道三个花括号是否会将模板中的用户输入净化为XSS安全。<script>标签不会出现,但其他令人毛骨悚然的XSS黑客呢?

提前感谢!

它不安全,因为你仍然可以运行恶意代码,比如:

Template.xx.helpers({
    'bad':function() {
        return "<a href="#" onclick="alert('compromised');">CLICK ME PLZ!</a>";
    }
});

模板

<template name="xx"> {{{bad}}} </template>

这意味着用户需要点击按钮,但您可以通过使用其他事件(如onmouseover:)使其更加确定

一个浮动div可以占用所有的空间&使用鼠标悬停来确保代码运行。这可以用作本例中的返回值:

<div style="width:100%; height:100%; position: fixed;" onmouseover="console.log('haha');"></div>

您还可以使用其他漏洞,例如通过CSS更改页面内容(使用content:或更高版本的z-index浮动div来更改页面内容。

最新更新