2016-11-16 1 views
3

J'ai un modèle MustacheJS avec l'image suivante:Est-ce que MoustacheJS-Snippen est sûr contre les attaques XSS?

<div class="thumbnail" style='background-image: url({{avatar}});'></div> 

La variable {{avatar}} est peuplée d'entrée utilisateur sans validation, et l'utilisateur peut entrer dans tout ce qu'ils veulent.

Est-ce sûr, ou quelqu'un peut-il passer une mauvaise entrée et exécuter XSS à travers cela?

+2

Non, ce n'est pas sûr. Vous devez valider et désinfecter l'entrée. –

+0

Nous devrions voir votre code exact. – Feathercrown

+0

@RoryMcCrossan Pouvez-vous fournir une valeur d'entrée qui va entraîner l'exécution de JavaScript? Merci pour votre réponse! – Tream

Répondre

0

Je pense que le style XSS ne fonctionne plus dans les navigateurs modernes (IE11/Edge, Chrome ou Firefox ne fonctionnera pas avec JS). Cela dépend aussi de la version du navigateur, mais même si ce n'est pas la meilleure pratique, il ne serait pas facile de trouver une attaque qui fonctionne réellement (et j'ai été très prudent avec le libellé, ce n'est probablement pas possible exploiter ceci dans les navigateurs récents). D'autant plus que comme vous l'avez démontré dans votre commentaire, Moustache html encode automatiquement certains caractères. Notez que IE peut passer en mode de compatibilité avec X-UA-Compatible, auquel cas il se comporte exactement comme la version sélectionnée, avec toutes les vulnérabilités de cette version, mais en raison du codage html, il n'est probablement pas encore exploitable.