Copiado al portapapeles
Descripción
El sistema de inscripciones del Instituto Científico Patito Corcho (ICPC) ha sufrido una serie de ataques que lograron vulnerar este sistema. Los encargados de seguridad pensando que se robaron las contraseñas de administrador, investigaron un poco y decidieron implementar un nuevo mecanismo de seguridad que prevenga ataques MITM (Man In The Middle).
El ataque MITM funciona de la siguiente forma: Un atacante haciendo uso de ciertas técnicas adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha sido violado. El atacante debe ser capaz de observar e interceptar mensajes entre las dos víctimas (sitios web, mensajes de chat, contraseñas, etc.)
Figura 1. Ilustración del ataque “man-in-the-middle”. https://www.owasp.org/index.php/Man-in-the-middle_attack
El mecanismo de seguridad que deciden implementar consta de adicionar muchas letras aleatorias al inicio y fin de la contraseña que viajará por la red, los encargados de seguridad lo denominan Mecanismo Cáscara. Este nuevo mecanismo enfurece a nuestro buen amigo hacker Alan que decide hacer uso de ingeniería social (su mejor habilidad) para averiguar el funcionamiento de este mecanismo, tras días de intentar obtener esta información Alan se sale con la suya!.
Para poder tener la contraseña Alan deja un script en una computadora dentro del instituto que se ejecutará cada mañana e interceptará el tráfico de red entre la computadora del administrador del sistema y el servidor obteniendo una contraseña (a la que se le aplicó el Mecanismo Cáscara) por día.
Después de días Alan regresa a la computadora donde dejó el script y copia las contraseñas interceptadas en una memoria flash, al llegar a su casa revisa las contraseñas a las que se les aplicó el Mecanismo Cáscara y se sorprende ya que las cadenas son demasiado largas como para analizarlas visualmente. Pero Alan está totalmente seguro que existe solo una cadena que se repite entre las cadenas.
Lamentablemente las habilidades de programación de Alan no son muy buenas, para ello Alan te busca y te pide que le ayudes a encontrar la contraseña.
Entrada
La entrada consta de T casos de prueba (). Cada caso de prueba inicia con un número K () que indica el número de contraseñas que Alan interceptó. Luego siguen líneas, cada línea consta de una cadena de caracteres (a-z) donde .
Salida
La salida consiste en una línea por caso que tiene una cadena que representa la contraseña.