🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónFuzzing de analizadores y validadores propios
5 tareas · 40 min · Principiante
El código que lee formatos ajenos es donde viven los fallos que ninguna prueba escrita a mano imagina. Conjuntos Llovizna importa cada mañana el archivo de recaudo que manda el banco para marcar las cuotas pagadas, y su equipo dejó corriendo una noche una campaña de fuzzing sobre ese lector, en el entorno de pruebas. Te entrega el lector, el arnés y la salida de la campaña.
Objetivo de la sala
El código que lee formatos ajenos es donde viven los fallos que ninguna prueba escrita a mano imagina. Conjuntos Llovizna importa cada mañana el archivo de recaudo que manda el banco para marcar las cuotas pagadas, y su equipo dejó corriendo una noche una campaña de fuzzing sobre ese lector, en el entorno de pruebas. Te entrega el lector, el arnés y la salida de la campaña.El fuzzing guiado por cobertura genera entradas, mide qué ramas del código recorre cada una y conserva las que llegan a sitios nuevos, para mutarlas otra vez. Así, en horas, encuentra combinaciones que nadie habría escrito: una línea con menos campos, un tipo de registro que no existe, un texto larguísimo. Se aplica al código propio que lee lo que viene de fuera: lectores de archivos, decodificadores, validadores de formatos y expresiones regulares.
Lo importante no es la herramienta sino el arnés, la función pequeña que recibe la entrada y llama al lector. El arnés decide qué cuenta como fallo: debe dejar pasar las excepciones que el lector documenta como rechazo normal (una línea mal formada que se informa) y dejar que todo lo demás se vea. Y puede ir más allá de los cierres inesperados con propiedades: condiciones que siempre deben cumplirse en lo que el lector devuelve, como que un abono nunca sea negativo. Sin ellas, el fuzzing solo ve lo que revienta, no lo que sale mal en silencio.
Responde para continuar
¿Qué debe hacer el arnés con la excepción que el lector usa para rechazar una línea mal formada?
Ver pista de ayuda
Una línea mal formada que se rechaza y se informa es el comportamiento correcto.
Abre el laboratorio y lee salida-campana.txt. Cada hallazgo dice dónde se detuvo la ejecución. Uno de ellos no llega nunca al lector: se detiene en el propio arnés, antes de llamar a nada de Llovizna. Compara con arnes_recaudo.py y con lo que dice formato-recaudo.txt sobre cómo llega el archivo.
Responde para continuar
¿Qué hallazgo de la campaña es un fallo del arnés y no del lector de recaudo? Escribe su identificador.
Ver pista de ayuda
Busca el hallazgo cuya línea está en arnes_recaudo.py y que no es la propiedad.
Dos hallazgos son tiempos agotados. Una expresión regular con un cuantificador dentro de otro cuantificador puede probar un número de combinaciones que crece de forma exponencial con la longitud del texto cuando al final no coincide (CWE-1333, complejidad ineficiente de una expresión regular). Una referencia de unas decenas de caracteres basta para dejar ocupado el proceso que importa el archivo de todos los conjuntos.
Responde para continuar
¿Qué función del lector se queda sin terminar con algunas entradas largas?
Ver pista de ayuda
Mira la columna donde se detuvo de los tiempos agotados y busca la expresión en recaudo.py.
La campaña guarda cada entrada que falla, y varias entradas distintas suelen llevar al mismo fallo. Agrupa los hallazgos por el lugar donde se detuvo la ejecución y el tipo de fallo, y descarta el que no es del código de Llovizna.
Responde para continuar
¿Cuántos fallos distintos del código de Llovizna dejó la campaña?
Ver pista de ayuda
Hay tres parejas que comparten lugar y tipo, un hallazgo suelto de la propiedad y uno del arnés.
FZ-04 no es un cierre inesperado: el lector devolvió un pago con valor negativo sin quejarse, y fue la propiedad del arnés la que lo marcó. Piensa en lo que habría pasado al importar ese archivo y en qué se convierte la entrada minimizada después de arreglarlo.
Responde para continuar
¿Qué se hace con FZ-04 una vez corregido el lector?
Ver pista de ayuda
Lo que la campaña encontró una vez debería vigilarse en cada cambio.
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.