martes, 17 de enero de 2017

McDonals, Contraseñas, XSS y AngularJS

Mucho tenemos en la cabeza que un  [Cross Site Scripting] esta catalogado entre las 10 los ataques mas frecuentes y por eso creo que se ha hecho una con nosotros y hemos ido perdiendo la noción de lo importante que puede ser esta vulnerabilidad si no la defendemos como es debido. 


Por ejemplo tenemos el caso de [Tijme Gommers] que al conectarse a la Wifi de un McDonals no se pudo quedar quieto y tubo que trastear. De esta manera encontró que la aplicación web donde nos redirigen la primera vez que nos conectamos, estaba hecha con AngularJS y sabiendo que utiliza una versión anterior a la 1.6, una versión que por lo que se ve tiene varios fallos de seguridad en su sandbox y que algunos se arrastran hasta las versiones mas nuevas (1.6.1 creo recordar), consigue bypassear la sanbox y ejecutar un .js a través de un Cross Site Scripting reflejado. 

Como datos curiosos: 
  • Comando para ver la versión de AngularJS:
    • angular.version
  • Payload con el que consigue el ataque en el parametro q: 
    • {{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}}
No voy adelantaros mas sobre el Diclosure y os recomiendo muchísimo que leáis la entrada y al menos yo, me voy a apuntar este workaround porque puede ser muy instructivo.
Sed Buenos ;) 

No hay comentarios:

Publicar un comentario