JavaScript peut-il être utilisé pour capturer l'écran de l'utilisateur? Si oui, cette fonctionnalité est-elle disponible dans n'importe quel framework JS?
(Je n'ai pas besoin d'exemples de code: je demande principalement à me faire une opinion sur les capacités de sécurité de JavaScript.)
JavaScript a un accès complet au modèle d'objet de document, donc au moins en théorie, il pourrait capturer ce qui se trouve sur sa propre page Web (mais rien en dehors de la fenêtre du navigateur) et il y a une bibliothèque pour le faire: http: // html2canvas.hertzen.com/ (Je ne l'ai pas essayé.)
La politique de même origine empêche JavaScript d'accéder au DOM d'un autre site. Étant donné que JavaScript ne peut pas accéder au DOM d'un autre site, il ne peut pas divulguer de matériel de l'autre site. Donc, si votre question se résume à savoir si un script exécuté dans un onglet, ou même un iframe, peut capturer le mot de passe bancaire ailleurs dans le navigateur, alors non, à condition que la même origine soit correctement implémentée dans le navigateur lui-même.
Même origine s'applique au domaine à partir duquel la page a été servie, pas à partir de auquel le script a été servi. Donc, ma page sur hxxp: //bbrown.spsu.edu/ (ce n'était pas intéressant, et maintenant elle est morte parce que j'ai pris ma retraite) peut charger un script à partir de google-analytics.com, comme il le fait, et ce script a accès au DOM de la page à partir de laquelle il a été chargé; il peut également renvoyer des choses à Google via un peu de tour de passe-passe. Le fait est qu'il ne peut le faire que parce que j'ai suffisamment confiance en Google Analytics pour charger leur script dans ma page; le code qui charge la page est dans le balisage que j'ai écrit. Si vous chargez ma page dans votre navigateur, ce script de google-analytics.com ne peut voir que le DOM de ma page dans votre navigateur, et rien sinon vous pouvez avoir ouvert dans votre navigateur.
En plus de capturer l'écran avec Javascript, une chose courante consiste à suivre les mouvements/actions de la souris d'un utilisateur sur une page Web. Cette question précédente sur StackOverflow montre comment capturer la position de la souris en Javascript et jQuery. Avec ces informations, les gens peuvent prendre ces positions de souris et les cartographier avec une capture d'écran de la page Web (créée en utilisant une autre méthode). Certains outils courants comme Lucky Orange et Crazy Egg créent des cartes thermiques des pages Web afin que les webmasters puissent voir ce que les gens font sur le site Web.
Dans la mesure où cette question concerne la sécurité, il existe des problèmes de sécurité concernant la possibilité de voir les mouvements de la souris sur une page Web. Les pirates peuvent utiliser ces informations pour ou dans le cadre d'attaques de phishing. Mais je ne pense pas que ce soit une réelle préoccupation.
getUserMedia();
peut capturer l'ensemble du bureau.
Cette fonctionnalité est expérimentale, vous devrez donc demander à l'utilisateur de l'activer.