11
votes

Quel préjudice peut faire Javascript?

Je viens de lire le blog de Joel ici ...

Ainsi, par exemple si vous avez une page Web qui dit "Quel est votre nom?" Avec une zone d'édition, puis soumettez cette page vous emmène à une autre page qui dit, bonjour, Elmer! (En supposant que le nom de l'utilisateur est ELMER), c'est une vulnérabilité de sécurité, car l'utilisateur pourrait taper toutes sortes d'étranges HTML et JavaScript au lieu de "Elmer" et leur bizarre JavaScript pourrait faire des choses narsty, et maintenant ces choses narsty semblent Venez de vous, alors par exemple, ils peuvent lire des cookies que vous avez placés et transmettez-les au site diabolique du Dr. Evil.

Puisque JavaScript court sur la fin du client. Tout ce qu'il peut accéder ou faire est uniquement sur la fin du client.

  1. Il peut lire des informations stockées dans des champs cachés et les modifier.
  2. Il peut lire, écrire ou manipuler des cookies ...

    Mais je me sens, ces informations sont de toute façon disponibles pour lui. (S'il est suffisamment intelligent pour passer JavaScript dans une zone de texte. Nous ne l'empêchons pas de nouvelles informations ni de lui fournir un accès indu à notre serveur ...

    juste curieux de savoir si quelque chose me manque. Pouvez-vous énumérer les choses qu'un utilisateur malveillant peut faire avec ce trou de sécurité?

    EDIT: Merci à tous pour éclairant. Comme Kizzx2 a souligné dans l'un des commentaires ... J'avais sur le fait qu'un JavaScript écrit par l'utilisateur A peut être exécuté dans le navigateur de l'utilisateur B dans de nombreuses circonstances, auquel cas il devient un grand risque.


1 commentaires

Je pense également que l'exemple cité n'est pas vraiment pertinent pour la plupart des vulnérabilités JavaScript aujourd'hui (CSRF, XSS, etc.). En particulier, "ces choses de Narsty semblent provenir de vous", on dirait que le JavaScript serait exécuté sur le côté serveur ("You"), ce qui n'est pas vrai.


9 Réponses :


3
votes

Il peut lire, écrire ou manipuler des cookies

C'est la partie cruciale. Vous pouvez voler des cookies comme ceci: écrivez simplement un script qui lit le cookie et l'envoie à un domaine diabolique à l'aide d'Ajax (avec JSONP pour surmonter les problèmes de domaine croisé, je pense que vous n'avez même pas besoin de vous embêter avec Ajax, un simple suffirait) et envoyez-vous-même le cookie d'authentification du mauvais gars.


4 commentaires

Mais ce pauvre mec soit juste vous ... Comment pouvez-vous acier mon cookie, lorsque je récupère la page du serveur et remplissais la valeur correcte (pas de script) de la page.


@Le roi, j'enverrais un email au pauvre gars avec une URL spécialement conçue en indiquant votre site et de lui dire de cliquer car il vient de gagner 1 000 $, il cliquera sur ce lien (rappelez-vous qu'il est un gars pauvre) et il Ouvrirez votre site dans lequel la valeur sera injectée dans le DOM car vous ne l'avez pas codé. En supposant maintenant que le gars est authentifié sur votre site, ma balise