🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEnganchar funciones en caliente para saltar comprobaciones
4 tareas · 35 min · Principiante
Enganchar una función es interceptarla mientras la aplicación corre para ver qué recibe, qué devuelve o cambiar su resultado. Sirve para comprobar una hipótesis concreta: que un control vive únicamente en el cliente. Si una comprobación de «solo administradores», una detección de dispositivo con root o una validación de compra se pueden desactivar enganchando una función y la aplicación sigue como si nada, ese control nunca fue una barrera: era una sugerencia. Se trabaja sobre Colibrí en el emulador con Frida (instrumentación dinámica). La lección de la sala no es «saltar controles», es entender por qué un control que solo existe en el cliente no cuenta, y dónde hay que ponerlo para que cuente. Todo sobre la aplicación de laboratorio propia, para corregir lo que revele.
Objetivo de la sala
Enganchar una función es interceptarla mientras la aplicación corre para ver qué recibe, qué devuelve o cambiar su resultado. Sirve para comprobar una hipótesis concreta: que un control vive únicamente en el cliente. Si una comprobación de «solo administradores», una detección de dispositivo con root o una validación de compra se pueden desactivar enganchando una función y la aplicación sigue como si nada, ese control nunca fue una barrera: era una sugerencia. Se trabaja sobre Colibrí en el emulador con Frida (instrumentación dinámica). La lección de la sala no es «saltar controles», es entender por qué un control que solo existe en el cliente no cuenta, y dónde hay que ponerlo para que cuente. Todo sobre la aplicación de laboratorio propia, para corregir lo que revele.Colibrí tiene una pantalla de administración que la aplicación oculta a los clientes: comprueba el rol en el cliente y, si no es administrador, no dibuja el botón. Enganchando la función que hace esa comprobación y forzando que devuelva «administrador», el botón aparece y la pantalla se abre. Que se abra revela lo que había debajo: la comprobación era solo de interfaz. Lo que decide si esa pantalla carga datos reales de administración no es el botón; es lo que el servidor responda cuando la pantalla pida esos datos.
En Colibrí la pantalla se abre, pero aún no sabes si trae datos: eso depende de la API. El hallazgo hasta aquí es que el control de acceso empezaba y —quizá— terminaba en el cliente.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Enganchas la comprobación de rol de Colibrí, el botón de administración aparece y la pantalla se abre. ¿Qué has probado?
Ver pista de ayuda
Dibujar o no un botón es interfaz. El acceso de verdad lo decide quién responde a los datos: el servidor.
Colibrí se niega a arrancar si detecta que el dispositivo tiene root, «por seguridad». Enganchas la función de detección para que diga que no hay root, y la aplicación arranca. La pregunta útil es qué protegía esa comprobación. La detección de root defiende sobre todo a la aplicación de ciertos fraudes y del análisis, y molesta a usuarios legítimos con el dispositivo liberado; no protege los datos del usuario frente a un servidor que confía de más. Es una medida de las que hay que saber ubicar: tiene algún valor contra el fraude masivo, ninguno contra un control mal puesto en el servidor.
En Colibrí saltas la detección y sigues. Lo anotas como lo que es: una fricción que el analista quita para trabajar, no una barrera que proteja datos.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Saltas la detección de root de Colibrí y la app arranca. ¿Cómo se valora esa comprobación?
Ver pista de ayuda
Ubica la medida: la detección de root estorba al análisis y a algún fraude. No sustituye la validación en el servidor.
En Colibrí, al comprar una suscripción, la aplicación llama a una función interna que devuelve si la compra fue válida y entonces desbloquea la función de pago. Enganchas esa función para que devuelva «válida» sin pagar, y la función se desbloquea en la aplicación. Si el servidor cree que la suscripción está activa solo porque el cliente lo dice, el fraude es real y de negocio. Si el servidor verifica la compra contra la pasarela antes de servir la función, la aplicación mostrará la pantalla pero el servidor no dará el contenido de pago.
El hallazgo se cierra donde se decide de verdad: la validez de una compra la confirma el servidor contra la pasarela, nunca una función del cliente que el usuario puede reescribir.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Enganchas la validación de compra de Colibrí para que diga «válida» sin pagar y la función se desbloquea. ¿Dónde se corrige?
Ver pista de ayuda
Una compra la confirma quien cobra, no el cliente. El servidor valida contra la pasarela antes de entregar nada.
Abre el laboratorio y lee la salida de la sesión de enganches sobre Colibrí. Busca el enganche que, al forzar la comprobación, hizo ceder un control que resultó ser solo de interfaz y abrió la pantalla de administración: en esa línea hay un código de la sala. Escríbelo tal cual.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
En la salida de los enganches, localiza el que prueba que la comprobación de administrador vivía solo en el cliente y escribe el código de la sala anotado en esa línea.
Formato esperado: MOV-____
Ver pista de ayuda
El código está en el enganche que abre la pantalla de administración, no en el de la detección de root ni en el de la compra.
Preparando el escritorio…
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.