funciones como reinicio y restablecimiento de fábrica ... ¿por qué un navegador moderno permitiría que los recursos internos se carguen desde una página externa?
La mayoría de los enrutadores actuales y otros dispositivos conectados a la red se administrarán a través de una interfaz web. Esto significa que hay algún servidor web con una aplicación web ejecutándose en el dispositivo y el usuario está usando el navegador para acceder a este dispositivo de la misma manera que usa cualquier otra página web. Esta interfaz web ofrece formas para que el usuario reinicie el sistema o similar haciendo clic en los enlaces específicos en la interfaz web.
Pero de forma predeterminada, un navegador permite muchas interacciones entre páginas web de diferentes orígenes. Puede hacer clic en un enlace en una página web para ir a otra página. O puede incrustar imágenes de una página en otra página, etc. El navegador en sí mismo desconoce qué es una página interna y qué es una página externa y qué páginas pueden enlazar / incrustar en otra y cuáles no. Por lo tanto, las aplicaciones web tienen que hacer las comprobaciones por sí mismas, es decir, verificar si una solicitud al dispositivo se debe a un origen diferente y no ejecutarlo en este caso.
Por lo tanto, el que era demasiado permisivo en este caso específico no era el navegador, sino la aplicación web que se ejecutaba en el enrutador. Debería haber comprobado el origen de la solicitud y no ejecutarlo si fue causado por algún otro sitio (solicitud de origen cruzado).
Lamentablemente este tipo de errores son muy comunes. Tales dispositivos a menudo se desarrollan con un presupuesto ajustado y la seguridad solo agrega costos, pero no funcionalidad. Aparte de eso, la mayoría de los desarrolladores ni siquiera saben que la web es en su mayoría permisiva por el diseño y que deberían agregar las restricciones necesarias al dispositivo.
Dado que estos errores son tan comunes, por supuesto que sería bueno si los navegadores incluyeran al menos alguna protección para dichos dispositivos dañados, como limitar el acceso de sitios externos a sitios internos. Pero, desafortunadamente, existen casos de uso reales para dichas solicitudes de origen cruzado a IP local que luego se romperían. Y luego están los problemas con DNS y proxies. Y probablemente más problemas. Para una discusión más profunda, consulte este error de Chromium donde discuten sobre este tema desde hace aproximadamente 2 años. .