Diversión con cifrados en Wordles clonados
2 de febrero de 2022
0 minutos de lecturaEn Snyk, dedicamos mucho tiempo a investigar vulnerabilidades. Lo hacemos porque hay muchas otras personas investigando nuevas formas de entrar en apps y sistemas. A menudo nos ponemos el «sombrero gris» para pensar como un hacker malicioso. Suelo ver el código fuente, revisar el tráfico de red y examinar las cadenas de consulta. Esta semana, una pequeña y deliciosa cadena de consulta llamó mi atención en uno de los muchos sitios que clonan Wordle.
Primero, quiero advertirte que hay SPOILERS MÁS ADELANTE. Aunque no menciono el sitio web en cuestión, no será difícil identificarlo, y lo que escribo a continuación te permitiría adivinar cualquier palabra personalizada en un solo intento. ¡Ya estás advertido!
¿A quién no le encanta Wordle? ¡A nadie! Llegó al punto de que The New York Times anunció que compraría el Wordle original a su autor. Han aparecido muchos clones, tanto en forma de app como de aplicación web. ¡Y algunos no tenían buenas intenciones! Para que conste, aquí está el Wordle original oficial.
Entre los clones hay uno bueno que te permite elegir una palabra personalizada de un diccionario disponible y enviarles un enlace a tus amigos para que intenten adivinarla al estilo Wordle.
Un amigo me envió uno y noté que la URL incluía un parámetro de cadena de consulta llamado: code=. Lo que seguía parecía un galimatías. Pero mi sentido arácnido #caoticoneutral empezó a hormiguear. La cadena de letras sin sentido tenía exactamente 6 letras, y la palabra también tenía 6 letras. ¿Coincidencia? ¡No lo creo! Mi segundo pensamiento fue que quizá se trataba de un texto cifrado y que podía descifrarlo para adivinar la palabra en un solo intento.
Cuando veo algo así, siempre intento empezar por lo más fácil: el cifrado Atbash (sí, todos los enlaces llevan a la wiki de Gravity Falls, porque cada episodio termina con un cifrado).
Cifrados Atbash
Imagina que la URL contiene la cadena de consulta: code=ociwti. Quizá la i representa la misma letra desplazada. Después de probar durante unos minutos, había demasiadas posibilidades para una sustitución simple. Así que pensé en intentar resolverlo de verdad y luego trabajar hacia atrás. Me tomó 5 de 6 intentos, pero llegué a la palabra: sortie. Esto me ayudó de inmediato porque ahora podía ver que no se trataba de una sustitución simple. Si lo fuera, la tercera letra (r) y la última (e) serían iguales.
Cifrados César
Luego pensé que quizá era un cifrado César (seguimos con Gravity Falls). Este cifrado coloca la letra del texto plano cierto número de letras antes o después de la del texto cifrado. Si pasas de la Z o retrocedes más allá de la A, simplemente vuelves al principio o al final del alfabeto. El único problema es que el desplazamiento sigue siendo constante, y la tercera y la última letras del texto plano serían iguales. Pero me gustó la idea de desplazarse por el alfabeto.
¿Y si simplemente hubiera que contar una cantidad distinta de letras hacia adelante para cada posición del texto cifrado y así obtener el texto plano? Eso revelaría una clave que podría usarse para resolver cualquier texto cifrado. Como tenía tanto el texto cifrado como el texto plano, ¿podía extraer la clave? Veamos.
Si avanzo en cada posición, al estilo del cifrado César, obtengo la cantidad de letras que hay que recorrer desde la letra cifrada hasta la letra del texto plano (teniendo en cuenta las vueltas al principio del alfabeto). Esto fue lo que obtuve:
O | C | I | W | T | I |
S | O | R | T | I | E |
4 | 12 | 9 | 23 | 15 | 22 |
Cifrado resuelto; desplázate con cautela...
Con esa clave, solo faltaba probar otro Wordle personalizado. Creé uno propio y obtuve: code=ywgkpv. Antes de seguir bajando, ¡a ver si puedes resolverlo!
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Sigue bajando...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Veamos el tablero completo:
Y | W | G | K | P | V |
4 | 12 | 9 | 23 | 15 | 22 |
C | I | P | H | E | R |
Así pude confirmar que la clave 4-12-9-23-15-22 funcionaba con cualquier Wordle personalizado. ¡Genial!
Si sabes de qué sitio hablo en esta publicación, guárdatelo. ¿Para qué arruinarles la diversión a quienes no hicieron clic en este blog?
Espero que hayas disfrutado de este pequeño desvío por el entramado de hilos rojos y chinches que es mi cerebro. No puedo evitar preguntarme qué pasa cuando veo cadenas de consulta en las URL. Pero siempre sigo el credo #caoticoneutral: hacer una pequeña travesura para reírse está bien, pero nada de hacer el mal (de verdad).
Y si te gustan los rompecabezas divertidos como este, acompáñanos el 9 de febrero a las 11 a. m. EST en una sesión de hacking en vivo: Stranger Danger: tu superficie de ataque de JavaScript acaba de crecer, a cargo del inigualable Liran Tal. ¿No puedes asistir esta vez? ¡Buenas noticias! Organizamos estas sesiones todos los meses. Usa este enlace de Zoom para registrarte.



