MITM

Time Limit:
3 Sec
Memory Limit:
256Mb
Enviados:
0
Resuelto:
0
Enviar IDE Estado

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.)

Ilustración del problema

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 KK días Alan regresa a la computadora donde dejó el script y copia las KK 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 KK 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 (1≤T≤101 \leq T \leq 10). Cada caso de prueba inicia con un número K (1≤K≤101 \leq K \leq 10) que indica el número de contraseñas que Alan interceptó. Luego siguen KK líneas, cada línea consta de una cadena SiS_i de caracteres (a-z) donde 1≤∑i=1k|Si|≤1051 \leq \sum_{i=1}^k\left|S_i\right| \leq 10^5.

Salida

La salida consiste en una línea por caso que tiene una cadena que representa la contraseña.

Ejemplo Entrada

Copy icon
2
5
mddqeixxdoklkgramaovxvqvz
dghwgrajwjhgramaiokmpp
mnvgramak
kkkjgramanvnvnbv
tmxiopgramakppo
3
fjjcnsjxcrackposka
mmcrabxcrackzackddsruf
jjkxdcrackmmkn

Ejemplo Salida

Copy icon
grama
crack

Ayuda