Pero aún así, Node.js lo procesa, ¿OK? Entonces, lo que estaba sucediendo detrás de escena es que, esta solicitud va al CDN, el CDN la envía al servidor, el servidor la interpreta como dos solicitudes, un POST a la barra y un GET a las cosas de administrador, aunque solo envié una solicitud.
Entonces, tal vez las cosas de administrador no estaban expuestas a la red, a la web, aunque yo podría hacer esta solicitud. Eso es terrible, ¿OK?
Entonces, el otro es intentar leer desde rutas arbitrarias. Básicamente, supongamos que estás en un host basado en Linux con varios usuarios y uno de los usuarios es malicioso, ¿OK? Sucede muy a menudo en universidades, ¿OK? Entonces, supongamos que un usuario malicioso crea un archivo falso openSSL, un archivo de configuración openSSL.cnf que contiene la configuración maliciosa. El openSSL.cnf es solo un archivo que contiene la configuración de seguridad para el openSSL, ¿OK? Entonces, el atacante puede hacer muchas cosas como modificar el generador de claves, alterar la configuración predeterminada y así sucesivamente. Y luego el usuario malicioso crea este falso openSSL.cnf en este archivo específico, io.js build ws.out.release y así sucesivamente y va a ese archivo largo. Y luego Node.js en el inicio estaba tratando de leer un archivo llamado openSSL.cnf en esa ubicación específica. Fue un error de nuestra parte. Entonces, el atacante pudo averiguarlo usando las herramientas de utilidad de Linux como strace. Lo usó para rastrear las llamadas del sistema, OK, así que simplemente llamó a strace y luego pudo ver, OK, estas son las llamadas abiertas que hace este programa específico. Y luego creo este archivo porque intentará leer este archivo específico y luego puedo hackearlo. OK, como dije, lo hemos abordado y he creado una prueba para abordar este problema. Entonces, si quieres ver el PR 46150, podrás ver cómo lo resolví.
Entonces, OK y luego OK, una vez que node.js lo carga, el atacante obtendrá acceso a ese open ssl y con una configuración personalizada. Entonces, ahora el atacante lo controla. Y OK, eso es malo. OK, es muy difícil de explicar, pero eso es malo.
El último, la validación de certificación. Personalmente, cometí este error y lo corregí, pero fue difícil. Entonces, supongamos que haces una solicitud normal. Realizas una solicitud GET al servidor y la IP del cliente es xsx porque es tu dirección IP. Pero luego quieres usar un servidor PROC. Es bastante común porque supongamos que quieres interceptar una solicitud, normalmente un servidor PROC, un depurador PROC ATP, es bueno para hacer eso. Y luego la dirección IP del cliente es diferente, es la III, la del servidor PROC. Puedes usarlo para proxies intermediarios. Hay otra herramienta llamada HTTP Toolkit Proxy. Puedes interceptar solicitudes de depuración. Eso es muy útil para los desarrolladores. Este es solo un ejemplo del proxy intermediario. Y luego supongamos que estás en una entrevista, y el entrevistador te pide que implementes un cliente de proxy HTTP, ¿OK? Y terminas con el siguiente ejemplo.
Comments