🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónMás allá de la inyección
4 tareas · 30 min · Principiante
La inyección SQL es el hallazgo de libro del análisis estático, pero la herramienta reconoce muchas más formas de equivocarse. En esta segunda pasada sobre el servicio de pagos de Cauce, Semgrep marca dos patrones distintos que salen una y otra vez en el mundo real: un comando del sistema construido con datos del usuario, y contraseñas guardadas con un cifrado que no protege nada. Reconocer cada patrón, saber por qué es peligroso y qué severidad merece parar la fusión es la misma habilidad de la sala anterior, aplicada a fallos nuevos.
Objetivo de la sala
La inyección SQL es el hallazgo de libro del análisis estático, pero la herramienta reconoce muchas más formas de equivocarse. En esta segunda pasada sobre el servicio de pagos de Cauce, Semgrep marca dos patrones distintos que salen una y otra vez en el mundo real: un comando del sistema construido con datos del usuario, y contraseñas guardadas con un cifrado que no protege nada. Reconocer cada patrón, saber por qué es peligroso y qué severidad merece parar la fusión es la misma habilidad de la sala anterior, aplicada a fallos nuevos.Cuando el código arma un comando del sistema pegando dentro un dato que llega del usuario —el nombre de un archivo, un parámetro— abre la puerta a la inyección de comandos: quien controla ese dato puede colar su propio comando y ejecutarlo en el servidor. En Cauce, el servicio de pagos construye un comando de exportación concatenando el nombre de archivo que envía el usuario. Es el mismo error de fondo que la inyección SQL —mezclar dato de fuera con una instrucción— en otra superficie. El arreglo también es el mismo en espíritu: pasar los argumentos por separado, sin construir la cadena del comando a mano.
Ver que inyección SQL e inyección de comandos comparten raíz —dato del usuario mezclado con una instrucción— es lo que permite reconocer la familia entera.
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
El código arma un comando del sistema concatenando el nombre de archivo que envía el usuario. ¿Qué habilita eso?
Ver pista de ayuda
El dato del usuario entra dentro de un comando del sistema. ¿Qué puede colar quien controla ese dato?
El análisis estático también reconoce criptografía rota. En Cauce, las contraseñas de los usuarios se guardan con un resumen rápido y sin sal: un algoritmo pensado para ser veloz, no para resistir, y sin un valor único por usuario que impida precalcular. Si alguien se lleva esa tabla, revierte las contraseñas con listas ya calculadas. El arreglo no es ocultar el código: es usar un algoritmo de hashing de contraseñas diseñado para ser costoso de revertir, con una sal distinta por cada usuario.
Reconocer que «guarda contraseñas» con un resumen rápido es un hallazgo real, y no un detalle de implementación, es lo que lo saca del olvido antes de una filtración.
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
Las contraseñas se guardan con un resumen rápido y sin sal. ¿Cuál es el arreglo?
Ver pista de ayuda
El problema es que el resumen es rápido y sin sal. ¿Qué lo hace costoso de revertir y único por usuario?
Como en la sala anterior, el umbral se fija por severidad y por dónde cae el hallazgo. La inyección de comandos en el camino de pagos es crítica y explotable: se para, ese código no se fusiona hasta arreglarlo. El hashing débil de contraseñas es grave y hay que corregirlo, pero no siempre bloquea el mismo día si no está en el camino directo del cambio; se trata con prioridad alta. Y un aviso de estilo, sin datos de usuario, se registra sin bloquear. La forma se parece entre hallazgos; lo que decide es la severidad y el impacto real.
Separar lo que para de lo que se atiende con prioridad, en vez de bloquear por todo o dejar pasar todo, es lo que mantiene el control vivo.
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
El análisis marca una inyección de comandos crítica en el camino de pagos y un aviso de estilo sin datos de usuario. ¿Qué hace la cadena?
Ver pista de ayuda
Uno es crítico y explotable; el otro es cosmético. ¿Cuál para la fusión?
Abre el laboratorio de la segunda pasada del análisis de Cauce y lee la salida de Semgrep. Hay tres entradas: la inyección de comandos en el camino de pagos, el hashing débil de contraseñas y un aviso de estilo. Quédate con la crítica de inyección de comandos.
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
Aísla en la salida de Semgrep el hallazgo crítico de inyección de comandos (el del camino de pagos, no el aviso de estilo) y escribe su código de hallazgo.
Formato esperado: SAST-____
Ver pista de ayuda
Con la terminal, `cat reportes/semgrep.txt`. El crítico es el de la regla de inyección de comandos con severidad ERROR; el código está bajo esa entrada.
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.