Uso malicioso del API HTML5 para controlar el vibrador del móvil

HTML5 tiene un API para hacer uso del vibrador del móvil. Esto es útil para alertas, para meterse más en los juegos o para otras cosas divertidas como enviar mensajes Morse mediante vibraciones.

Actualmente Chrome y otros navegadores de Android piden permisos para usar características como la geo-localización, la cámara, la libreta de direcciones, etc. como una medida para prevenir que se facilite información delicada sin consentimiento. Sin embargo, acceder al API de HTML5 que controla la vibración no genera ninguna alerta ni requiere permisos del usuario, al fin al cabo porque parece algo bastante inocuo. ¿Qué es lo peor que pudiera pasar, que agoten rápidamente la batería?

Pues como alertaba Terence Eden hace casi un año puede ser más peligroso de lo que parece... y estamos de acuerdo. Por ejemplo, una imagen como la de arriba, con una notificación falsa acompañada con una oportuna vibración puede ser mucho más creíble y hacer que un usuario pique más fácilmente.


¿No están enviando realmente un AirDrop o es la página la que nos está intentando engañar?

¿Y que pasa si combinamos esto con audio en HTML5 para crear una "llamada entrante" falsa? Pues como podéis ver si accedéis con vuestro smartphone a la siguiente página de demo es bastante facil picar en este scam cuando estás navegando desde el móvil:

https://shkspr.mobi/vibratescam/

Código:

<body>
   <script type="text/javascript">
      navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navigator.mozVibrate || navigator.msVibrate;
      navigator.vibrate([1000, 500, 1000, 500, 1000, 500, 1000, 500, 1000, 500, 1000, 500, 1000, 500]);
   </script>
   <img width="100%" src="phone.png" onclick="window.location.href='tel:09098790815';" />
   <audio autoplay="autoplay"> 
      <source src="ring.mp3" /> 
   </audio>
</body>

Y otra vuelta de tuerca. ¿Y si añadimos "navigator.vibrate" con muy *mala leche* en una web que tiene un XSS persistente? 


Pues imagina un usuario que está visitando un foro u otro site y no deja de vibrarle su smartphone... Pues eso, que acaba cerrando la página... 

Como diría un amigo: no seáis malos.

Comentarios

  1. Lo acabo de probar con mi iPhone, navegando desde Safari no ocurre absolutamente nada.

    ResponderEliminar

Publicar un comentario