2013-04-15 27 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),但主要的實現卻很幸運地逃脫了它。