2010-11-04 3 views
2

En dépit de ma paranoïa je n'ai jamais vraiment eu à comprendre la sécurité Web plus, donc mon manque de connaissances me cause un peu de confusion pour cela. Exemple: Disons que vous avez 2 zones de texte, les deux sont pour l'entrée de l'utilisateur.JavaScript non-persistant question de sécurité

L'utilisateur tape ce qu'il veut dans ces deux zones de texte et clique sur un bouton, le bouton utilise ensuite un peu de JavaScript et concatène ce qui est dans ces deux zones de texte et l'affiche dans un div.

Ma question est, dans ce cas, puisqu'elle utilise le côté client JavaScript, avez-vous besoin de vraiment désinfecter l'entrée de l'utilisateur? Que se passe-t-il si elle est sortie dans une zone de texte au lieu d'une div? Ou comme une alerte?

Je comprends que quand il s'agit de formulaires/PHP, vous voulez toujours désinfecter les entrées, mais je ne suis pas vraiment familier avec les précautions de sécurité JavaScript. Je crois comprendre que puisque c'est côté client, et qu'aucune donnée n'est sauvegardée par le serveur, tout ce que l'utilisateur fait (essaie de lancer du code malveillant ou autre) n'affectera personne d'autre que cet utilisateur, correct?

Répondre

3

Non, ce n'est pas un problème de sécurité. La raison en est que l'attaquant doit forcer le navigateur de la victime à faire cette action pour qu'elle soit XSS.

Toutefois, si vous saisissez une entrée de quelque chose comme document.location puis l'imprimez sur la page en utilisant document.write(), alors il s'agit de DOM based XSS. Mais c'est une forme très rare de XSS.

+0

Merci. Je pensais tout autant, je voulais juste m'assurer qu'il n'y avait pas de manière folle pour que cela finisse par un risque de sécurité. – DaiYoukai

+0

La sécurité @Archonix est un problème de calcul très difficile. Il y a des gens très intelligents sur SO, mais assurez-vous de tester vos systèmes de sécurité et de faire vos propres recherches. J'ai vu des réponses terriblement insécurisées acceptées. – rook

2

Vous n'avez pas besoin de désinfecter tout ce qui ne va pas au serveur.

Si les gens veulent faire quelque chose à leur instance de votre page, le seul qu'ils peuvent blesser est eux-mêmes. Regardez tout ce que vous pouvez faire avec une extension comme GreaseMonkey ... nous parlons beaucoup plus que de concaténer des chaînes et de les afficher.