2013-04-15 30 views
4

我在想我的应用程序的XSS漏洞。在服务器端,我不消毒输入或输出,所以小胡子是否耐XSS?

<script>alert(document.cookies)</script> 

存储在数据库尽然。为了在客户端查看这个值,我使用了胡须。如果这个脚本是由管理员执行的,当然很容易劫持他的会话。不过我注意到胡子默认逃脱这些值& \“<>当您使用{{}}语法。我需要担心XSS,当从数据库中的值会被插入到

<p>{{value}}</p> 

甚至

<p data-id='{{value}}'>something</p> 

?我应该检讨也许我的胡须模板寻找任何漏洞的代码,或除非我会使用

<script>{{value}}</script> 

我很安全吗?

回答

1

嗯,你应该总是担心:)但是,小胡子完成了你在这里讨论的目标,保护你的例子不受XSS(除非你直接输出值到<script>标签)。

注意:检查您使用的Mustache实现是否使用单引号。很明显,这并不符合规范(https://github.com/mustache/spec/issues/69),但主要的实现却很幸运地逃脱了它。