¿Por qué los navegadores permiten que JavaScript de páginas web externas se conecten a localhost?

0

Estoy leyendo enlace

En ese artículo se describe una vulnerabilidad (ahora parcheada), en la que un programa de escritorio escucha las solicitudes HTTP de localhost. Ese servidor esencialmente confía en su entrada y puede usarse para comprometer el sistema.

Todo lo que se necesita es una página web maliciosa con JavaScript que abre un POST HTTP a 127.0.0.1:63342 con algunos datos.

Entonces, ¿por qué los navegadores permiten que JavaScript de páginas remotas se conecten a localhost? Los servidores web locales se usan para muchas cosas (servidores de prueba, noteboos de Jupyter, etc.).

EDIT : cuando estaba jugando, obtuve este error (No El encabezado 'Access-Control-Allow-Origin' está presente en el pedido recurso). Parece que esto también debería haber evitado el ataque en la publicación del blog?

    
pregunta Ben 15.08.2016 - 22:27
fuente

2 respuestas

4

Bueno, localhost en sí mismo es solo un nombre de host, otros nombres de host podrían usarse de manera similar para configurar un registro A para 127.0.0.1 . El verdadero problema potencial es que los navegadores pueden manipularse para cargar contenido de la red local, como 127.0.0.1 ( localhost ), 192.168.1.1 (enrutadores), etc.

Los navegadores tienen una función implementada para limitar globalmente el acceso a través de hosts, llamado Igual -Política de origen , sin embargo, Los ataques CSRF contra sistemas mal diseñados son todavía posibles .

Suponiendo que los desarrolladores de aplicaciones son lo suficientemente competentes como para no asumir ciegamente que los datos que se envían son seguros, y validarlos correctamente, deberían estar bien. El problema real es que los desarrolladores que no entienden esa seguridad web básica son demasiado comunes. Por esta razón, recientemente hemos visto un aumento en los ataques contra los enrutadores de las personas, donde los ataques CSRF pueden reconfigurar el enrutador sin la interacción del usuario, porque asume que cualquier tráfico local es seguro.

En cuanto al bloqueo por fuera de la derecha de las solicitudes de red local desde páginas no locales en el navegador, no tengo conocimiento de que algún navegador esté haciendo esto actualmente, pero es algo la característica ABE de NoScript lo hace de manera predeterminada. Nunca he notado ningún inconveniente real al usarlo, por lo que no puedo especular sobre por qué los navegadores aún no lo hacen.

    
respondido por el Alexander O'Mara 15.08.2016 - 23:09
fuente
0

Y los servidores conectados a Internet controlan la banca en línea, los registros médicos y los reactores nucleares (OK, solo bromeo con respecto al último *)

Localhost es solo otro nombre de host.

Si te preocupa eso y tienes la capacidad de ejecutar servidores en localhost, debes saber cómo aislar el tráfico.

*) pero quién sabe ...?

    
respondido por el symcbean 15.08.2016 - 22:54
fuente

Lea otras preguntas en las etiquetas