03 julio 2012

Cómo ganar siempre al Apalabrados

Apalabrados, o "Angry Words", el juego de moda. Muchos lo hemos descubierto como un desafío más. Algo a lo que se puede jugar con cualquiera y que consiste en exprimirse el cráneo pensando, con las letras que tienes, cómo completar palabras en un tablero. El concepto ya existía con el Scrabble de toda la vida, pero en este caso jugando de forma online contra amigos/conocidos o incluso contra personas seleccionadas de forma aleatoria. 

Así que empecé a jugar y ví como ganaba algunas partidas, pero perdía otras. Y he de reconocer que no me gusta mucho perder ;D

Con el tiempo, incluso aparecieron aplicaciones online o servicios que te "ayudaban" con la generación de palabras, en base a las letras que dispones, y las ya colocadas en el tablero, para que efectúes la mejor de las jugadas. Pese a que nunca llegué a hacer uso de estas aplicaciones, pensé en echar un vistazo a las tripas del juego, por aquello de ver cómo funciona y buscar alguna otra debilidad que me permitiese hacer esto de las palabras cruzadas algo más divertido.

Para ello, y como se jugaba desde un dispositivo móvil, monté una herramienta de intercepción de tráfico, que me permitiese analizar los mensajes intercambiados entre la aplicación, y el servidor correspondiente. Una vez identifiqué que las peticiones eran simples llamadas a una API web, dispuse el conocido proxy Paros para poder estudiar las mismas.




Os cuento mis findings principales:
  • El servidor hacia el que realiza las peticiones el juego es api.apalabrados.com y se encuentra en Amazon EC2, aunque tiene configurado el timezone de Argentina, tal cual denotan la hora de algunas respuestas del servidor. Tiene cierta lógica, puesto que la empresa desarrolladora de Apalabrados, es de las latitudes de la tierra del exquisito dulce de leche.
  • El proceso de login se puede hacer a través de usuario facebook (dando privilegios a la aplicación para el login) o mediante correo electrónico y contraseña. No he probado a fuzzear el acceso mediante correo electrónico con contraseñas, para ver si existe bloqueo de cuentas al hacer ataques de diccionario o fuerza bruta, pero CAPTCHA, no hay. Por mi parte, y aunque me he centrado en intentar trampear el juego con sesiones ya iniciadas, podemos ver que la contraseña de login viaja completamente en claro en una petición POST.

  • El protocolo utilizado es HTTP en plano, sin SSL, sin nada de nada. Meras peticiones web, sin autenticación con certificados de por medio que pongan la cosa un poco más complicada (saltable, pero con algo más de dedicación y esfuerzo). Impresionante que ni siquiera el login en la aplicación tenga un nivel mínimo de cifrado.
  • Al tratarse de un juego al que se puede acceder desde diferentes dispositivos a la vez de forma simultánea, lógicamente, las partidas y el estado del usuario ha de almacenarse en los servidores de Apalabrados, siendo los clientes, quienes piden información en cada ocasión. Analizando el tráfico web intercambiado, se ve que, en el login, se establece una sesión web corriente y moliente, el servidor nos inyecta una cookie con un sessionID (ap_session) que los clientes tendrán que utilizar en todas las peticiones que hagan hacia el servidor.

  • Si situamos a un cliente en una situación MiTM sencillo, forzando a jugar a los usuarios mediante una red wireless, podemos interceptar el identificador de usuario enviado en todas las peticiones GET y POST, y la cookie de sesión necesaria, así podríamos hacer peticiones del tipo: GET http://api.apalabrados.com/api/users/[mi_usuario_ID]/games con la cookie "ap_session" con el valor interceptado y obtendríamos la lista completa de los juegos de un usuario, con un montón de información de cada uno, el usuario contra el que se juega, su identificador Facebook (si se conectó haciendo login en facebook en vez de con correo electrónico), si ha de mostrar o no foto, la fecha de creación del juego, los turnos pasados, el número de fichas que quedan, la última palabra jugada, etc,…
  • Si pulsamos en cada uno de los juegos disponibles, podemos ver que se hace una petición al servidor para rellenar el mismo. La petición es del tipo: GET http://api.apalabrados.com/api/users/[mi_usuario_ID]/games/ Como bien podéis imaginar, con la cookie de sesión, podemos ver directamente la configuración de juego del usuario interceptado, y por supuesto, podemos actuar, como si fuera él.
  • Cuando se crea una palabra, con nuestras letras y las del tablero, el cliente envía una primera petición GET a http://api.apalabrados.com/api/dictionaries/ES?words=palabra. Así comprueba en su diccionario (depende del idioma) si la palabra existe o no. La respuesta es del tipo {"answer":true,"wrong":[],"ok":["palabra"]} si es válida; o del tipo {"answer":false,"wrong":["palabra"],"ok":[]} cuando es incorrecta.
  • Es posible manipular las peticiones y las respuestas entre el cliente y el servidor, de manera que le llegue al cliente lo que nosotros queramos, y que lógicamente, la aplicación ejecutará sin comprobar nada más. Es decir, que podemos modificar la respuesta del servidor diccionario, para que devuelva por válida cualquier palabra que le pongamos, sin problemas, pero los desarrolladores han tenido en cuenta estas trampitas, y hacen que, cuando confirmas posición de las letras, se comprueben, de nuevo, en el diccionario internamente y claro, dará un error por no existir la palabra. De momento, no he encontrado forma de engañar al servidor para que acepte palabras que no existen.
  • En la siguiente imagen podéis ver que se puede enviar al usuario el texto en las posiciones que queramos, cuando simplemente el cliente pregunte por un juego en concreto. No es necesario ni modificar el ID de la respuesta para que coincida con el que el cliente espera. Directamente, se le envía cualquier cosa y se la come,... incluso es posible enviarnos las letras que nos convengan para la siguiente jugada.

Teniendo en cuenta que es una matriz de 15x15, la posición de cada letra viene dado por la posición de la 0 a 224. Así que si queremos, podemos devolver el mapa de caracteres que queramos (ni siquiera han de ser sólo letras) y/o cuantos comodines nos venga en gana.



  • El problema está en que, como las partidas quedan grabadas en el servidor, cada vez que la aplicación cliente pida el estado de la partida, deberemos modificar el cuerpo de la respuesta que queramos. En otro caso, machacará en la aplicación cliente toda la creatividad que hayamos creado anteriormente y se verá la partida real.
  • Entonces, ya que el servidor no permite modificaciones de las letras disponibles, del número de fichas o que se coma aquellas palabras que yo quiera, está claro: si no puedo engañar al servidor ,engañemos a los clientes!  Aquí ya viene la parte maliciosa. En Apalabrados, la API permite preguntarle al servidor por la situación de algún juego (o de todos) mediante GET, y también ejecutar un comando, mediante POST, pasando en el POST DATA la acción. Las más agresivas son "Paso" o "Rendirse", de manera que enviaríamos al servidor, falseando al cliente, en nuestro entorno MiTM una petición POST a  http://api.apalabrados.com/api/users/[mi_usuario_ID]/games/[juego_ID]/turns con el POST DATA el valor {"type":"PASS"}, y estaremos simulando que el cliente ha pasado. Si hacemos esto por cada vez que sea el turno del usuario, a éste podemos devolverle un error cualquiera de conexión al servidor, mientras vamos jugando alegremente una partida en la que la víctima siempre pasará, perdiendo la partida por goleada.
  • Otra opción más agresiva aún es forzar a un usuario a Rendirse a una partida. ¿Cómo? pues enviando la petición POST a http://api.apalabrados.com/api/users/[usuario_ID]/games/[juego_ID]/turns el valor {"type":"RESIGN"} en el cuerpo del POST. Con esto al servidor le llega, la petición fraudulenta de Rendirse, por lo que forzaremos que esa partida se pierda y se deprecie el valor del usuario en su perfil, por partidas renunciadas. Por contra, si estamos jugando contra la víctima, ganaremos automáticamente la partida, porque el contrario renunció.
  • Otra forma de forzar a un usuario a perder la partida es no devolver ninguna letra a nuestro contrincante,... Para ello, la devolución de letras en el caso de una jugada sería del tipo
    {"type":"NORMAL","turns_played":44,"replacement_tiles":"","my_score":221,"opponent_score":199,"game_status":"ACTIVE","expiration_date":"07/08/2012 08:51:21 EDT","id":85302734} es decir, sin "letras de recambio". En este caso, directamente es un Game Over para la víctima, puesto que no tiene ninguna letra para jugar y sólo le quedarán las opciones de darle al botón "Pasar" o "Rendirse".
  • En estos tres últimos casos, estamos causando un perjuicio a un jugador, en nuestro beneficio. Sin embargo, también podemos enviarle lo que queramos a la víctima, o a nosotros mismos. Desde un "Has Ganado" o un "Has perdido", aunque sea ficticio puesto que el servidor conoce el estado real de la partida. Pero, en cualquier caso, siempre es divertido enviarle mensajes malformados a un usuario para ver su reacción….

Y por supuesto podemos escribir lo que queramos en los puntos, el nombre del adversario, o incluso el mapa de letras que queramos que queden reflejados... Quise probar cuánto era el mayor puntaje que podía obtenerse en Apalabrados, así que probé rellenando con todo Z (valen 10 puntos) todo el tablero... Al forzar un WIN, el programa se pasa de largo sumando y calculando las triple/doble letra/palabra y da un resultado de 248, que obviamente es un resultado incorrecto,... 



  • El apartado de ver perfiles de los usuarios (incluso del propio) también es susceptible de modificaciones, pudiendo modificar cualquier campo, poniéndonos los puntos que queramos en mejor juego, mejor jugada, palabra más larga, o incluso el número de partidas ganadas, perdidas o renunciadas, apareciendo el palmarés que queramos. Evidentemente, esto es sólo a ojos del cliente, porque en el servidor no se modifican estos stats 

Estuve probando por si, por debajo, la aplicación llamase a Safari y fuese posible generar un XSS... pero no hubo suerte con la única prueba que hice.





Bueno, pero... ¿y cómo lo pueden arreglar?

El problema fundamental de Apalabrados, es que no han tenido en cuenta ningún tipo de checksum, o lo que sería aún mejor, una firma digital del hash de cada mensaje recibido. Las manipulaciones o tampering de los datos enviados por el servidor a los clientes, deberían ser comprobadas por el mismo, de manera que, si alguien ha dado rienda suelta a su creatividad por el camino, debería dar un error de integridad y no interpretar el contenido del mensaje.

Respecto al envío de mensajes por parte del cliente hacia el servidor, tanto con las jugadas con letras que se envían, como con los mensajes de "Rendirse" o "Pasar", deberían ir cifrados, por ejemplo, con una contraseña de sesión. Otra opción, sería hacerlo con un hash de la contraseña del usuario que se mantenga en el cliente y que al estar ya almacenada en el servidor, pudiese dar la capa de confidencialidad necesaria a los mensajes. La opción optima sería firmar digitalmente todos los mensajes, pero eso implicaría un despliegue de certificados por cada usuario, que posiblemente hiciera inviable el juego.

Ni siquiera se han preocupado que, cuando el login se hace mediante usuario-correo/contraseña, el envío de la misma se efectúe mediante un canal SSL, sino que la contraseña viaja en claro para que cualquiera, en determinadas condiciones, pueda acceder a ella cómodamente. Como recomendación, no uséis la misma contraseña que utilizáis para otras cosas, y por supuesto, ya que el nombre de usuario es una dirección de correo, haced el favor que la contraseña no sea la del servicio de correo!

La única "medida de seguridad" implementada (que yo creo que ha sido por casualidad) es el escaso tiempo de time-out, que obliga a hacer la manipulación de los parámetros en tiempo récord, o tener hecho el mensaje antes, para inyectarlo en la respuesta cuanto antes. La otra opción es diseñar un programa que cuando detecte las peticiones, formatee las respuestas según nuestras necesidades de forma automática.

Pensé en buscar un BOF en la devolución de alguno de los parámetros, ya que, como habéis podido comprobar, es posible modificarlos todos a nuestro gusto. Así que a base de pruebas, quizá sea posible ejecutar código remoto en el dispositivo de la víctima. Mi intención eran los fines académicos y lúdicos para conseguir la victoria en el juego, no en el dispositivo completo.

Cierto es, que en el lado servidor, han tenido en cuenta "alguna" medida de seguridad, como la doble comprobación de que la palabra existe. Sin embargo, no han controlado todas las posibles reacciones de un usuario con un pelín de mala uva.

Recordad además que esto sólo es posible en aquellas situaciones en las que se utilice una red wireless para la comunicación de datos y sea posible el MiTM. En caso de jugar con 3G no habría forma de efectuar estas manipulaciones, y en caso de GPRS, hay que mirar que los @Taddong no estén cerca.

Entonces ¿Alguien me echa una partidita? ;)
Buscadme por "lawwait"...

68 comments :

Angel Alvarez Nuñez dijo...

jajaja ni pa una partidita se puede fiar uno de vosotros pillos !!!!
Como en aquel Anuncio.... Lorenzo- "pero que morenita estas"
¡Cuidado con Lorenzo!

Alejandroperez dijo...

Eres un crack!

spawn dijo...

No se os escapa ninguna. Desde luego si que da que pensar el tipo de funcionamiento que tienen esta clase de aplicaciones, vemos que de seguridad, cero patatero

Muy buen post

Anon dijo...

Que alegría sería tener tiempo !!

Ana Belen Sanchez Martinez dijo...

hola. jugando desde face me dice: esperando respuesta del servidor, como puedo arreglar eso?

Madrikeka dijo...

mmmm......lo que puedes hacer es reiniciar el Pc, pero eso sí, antes de encenderlo, apaga el router unos 5 min, para que se limpie bien y una vez finalizados los 5 minutos, enciéndelo todo.
Te debería funcionar perfectamente. ;P

Pepe dijo...

Jajaja joder y yo pensaba que por utilizar trucosapalabrados.com ya era un poco tramposillo... Solo soy un aprendiz!

Pepelux dijo...

Cabrón que yo te gano limpiamente!! xDDD Muy bueno Lorenzo .. ahora Dani ya podrá ganarme

Peibl Snm Tapia dijo...

Buscate una novia pibe

Adrián Ruiz dijo...

Muy buen post!


No le quito mérito a la investigación, pero, incorporar checksums, hashing, firma digital, bla, bla por un simple juego, me parece una barbaridad. En lo que si estoy deacuerdo es en implmentar SSL en las zonas críticas del juego y login, ya que ssl no necesita tanto tiempo de procesamiento como la firma digital de todos los datos en cada petición.


salidos! ;)

Dresmon dijo...

muy interesante el artículo, pero....... al final no se puede ganar porque cada truco que mencionás solo sirve para el cliente.

Lorenzo_Martinez dijo...

Si los desarrolladores no se acostumbran a programar de forma segura (en este caso a diseñar aplicaciones), cuando toca hacer una con altas medidas de seguridad, no están acostumbrados. En este caso, es un juego, pero... ¿y si hubiera apuestas de por medio?

Lorenzo_Martinez dijo...

Si te fijas, si logras meter a tu víctima en un entorno que puedas hacerle Man in The Middle, puedes capturar su ID de jugador y la cookie asignada. Con eso, ya puedes una petición al servidor diciendo que renuncie directamente, o si quieres hacerlo perder de a poco, envías la orden "Paso" al servidor. Al cliente le puedes mandar mientras, por ejemplo, un panel de letras vacío (así no podrá hacer NADA)... Tú vas jugando y metiendo puntos en el servidor, y fuerzas envíos "Paso" como si fueras la víctima. Al final, la partida la juegas tú solo,... y en el servidor se guardan los cambios de tus jugadas y los "paso" de la víctima que has spoofeado.... Al final, ganas! :D

Lorenzo_Martinez dijo...

Cuidado con Lorenzo, nena! ;D Muchas gracias Ángel!

Uncle J. dijo...

Eres muy jefe. Coincido en que hay que diseñar bien la seguridad desde el principio sea un juego un contador de chistes o el software controlador de la sala del reactor nuclear.


Que por cierto, podríais hacer algo con SCADA. Sería muy pero que muy interesante.

Víctor Martínez dijo...

No veo qué mérito tiene spoofear las respuestas del server para que el cliente pinte una u otra cosa. Al fin y al cabo, según he entendido, no hay vulnerabilidad alguna en el server de la que aprovecharse. Y obviamente el contrincante no va a estar accesible como para hacerle un MITM a menos que se encuentre en la misma red.

Sutton dijo...

Muy bueno! probaré para reirme un rato

Francisco J. dijo...

De hecho las hay. http://apalabrados.org/torneo-skoda.php

mepa432 dijo...

eres un mostro tio!!

xeron dijo...

Después de leer el informe completo he llegado a una conclusión. Macho... tu te aburres mucho!

laMofetaBisexual dijo...

Vaya tostón de artículo! Me voy a tomar una aspirina...

Javier dijo...

Muy interesante este post, la verdad es que muchas aplicaciones no están preparadas para las modificaciones de contenido via web permitiendo este tipo de ataques.
Una cosa que me gustaría saber, qué programa has utilizado para realizar el sniffing? Para PC uso wireshark pero soy incapaz de hacerlo correr en un Android... Gracias

Perico el cruel dijo...

Lo lógico, para ganar haciendo trampas, es que el adversario también sea engañado; estas alternativas que presentas son harto patateras, con las cuales solo se consigue que nadie juegue contigo.
Por otra parte es absolutamente lógico que no haya ese tipo de seguridad en el juego, hay que proteger el servidor, que después desde cliente se haga el machango, ya es cuestión de cada uno y lo que pueda soportar otros usuarios.

NombreFalso dijo...

Claro y el otro se quedará tan campante, no?

Jander dijo...

Para limpiar bien el router, uso Fairy o Don Limpio?

Achtung dijo...

Gracias por joder un juego cojonudo. Eres el típico que en el puto cine va destripando la película a toda la sala. Hay que joderse...
Cómprate un perro que estás muy solo!

Alberto dijo...

Pues a mí me ha sido muy útil el artículo, muchas gracias por el análisis. Ya te escribiré cuando quiera que destripes mi juego online xD En mi caso me tomo la seguridad un poco más en serio, la contraseña nunca se envía en claro (ni siquiera valdría un ataque de repetición), ciertas operaciones usan hashes, así que el atacante además tendría que descompilar el cliente, y el propio servidor puede controlar el estado del juego para evitar trampas.

Lorenzo_Martinez dijo...

Hahaha... Qué comentario más bueno! Implica que no has entendido nada de lo que he contado :) Cuando quieras cojo papel y boli y te lo explico para que lo entiendas...
Por cierto al final de la peli, el protagonista muere y el asesino es el jardinero...!!!

Madrikeka dijo...

puf....que difícil....creo que Fairy...ya que Don Limpio es mas agresivo y podría afectar a los paquetes erosionándolos un poco, por lo que internet te iría mas lento o te redirigiría a páginas confusas.

Lorenzo_Martinez dijo...

He usado Paros Proxy... (En un PC aparte) En realidad es la forma de poder interceptar el tráfico y poder modificar los mensajes hacia el cliente o generar nuevos mensajes spoofeados al servidor...

Lorenzo_Martinez dijo...

La forma de ganar es forzar que tu adversario siempre pase, siempre renuncie o no le mandes fichas en la siguiente jugada :)

Lorenzo_Martinez dijo...

Al otro le puedes enviar incluso un juego falso, con el mapa de letras que quieras... él cree que está jugando en el mundo real, cuando lo está haciendo en Matrix :D

Anubys dijo...

Muchas gracias por el currazo que te has pegado, tu sigue como siempre que siempre habra frikis como nosotros encantados de leer y probar tus experimentos.

Jesus dijo...

Lorenzo, una pequeña duda, ¿como capturas con el proxy el trafico que sale de la app apalabrados? se supone que este trafico sale por puertos especificos y los envia al servidor, por defecto si configuras un proxy como paros a través del proxy del dispositivos movil solo te captura el trafico del navegador (80,443), ¿como fuerzas el dispositivos para que envie todas las conexiones por el proxy?¿que software utilizas? me vendria bien saberlo tanto para android como para ios. Gracias

Jonathan dijo...

Es un juego... en el que usas tu correo y una clave, y sabemos que en un alto porcentaje de casos la clave va a ser la misma que la del correo.

Un lector dijo...

Por fin un artículo digno y en condiciones como los de antes.


Pero la subida de ego y el coñazo que has dado en twitter, denota que os lo seguís teniendo demasiado creído.


Saludos.

Lorenzo_Martinez dijo...

Muchas gracias amigo anónimo! Muchas gracias por seguirme en twitter (tengo ego, pero soy agradecido)...

Lorenzo_Martinez dijo...

Inicialmente utilicé tcpdump pasando todo el tráfico del dispositivo a través de la máquina que me da acceso a Internet. Como ví que todo lo que se enviaba era web, utilicé Paros para analizar las peticiones. El resto del análisis, ya has visto que es todo web.

Lorenzo_Martinez dijo...

Muchas gracias por tu reflexión. Un abrazo :)

Lorenzo_Martinez dijo...

Con que logres interceptar una sola vez la clave de sesión que tiene (así como su userid), si el usuario no hace logout y login de nuevo, mientras esa cookie no caduque, lo puedes liar tranquilamente. Así que a partir de ahora, cuidadín cuando juegues al apalabrados en una red wireless :)

Víctor Martínez dijo...

Es un juego online y la probabilidad de que tu contrincante se encuentre en tu misma red es nula. Estáis vacilando de lo insegura que es la plataforma pero realmente tampoco habéis conseguido nada. Si hay algo que han hecho mal es que están usando cookies para mantener la sesión del usuario cuando una API, por diseño, debería ser stateless y comunicarse con el server usando tokens de autenticación temporales que se negocien al inicio de la app. Eso es suficiente para evitar un possible "robo de credeciales" por sniffing. Usar SSL/ofuscar el protocolo no siempre es factible por temas de escalabilidad (un tema crítico en este caso).

pilo dijo...

bufff... a mi se me queda todo esto muy largo, así que seguiré perdiendo, cuando me canse no jugaré más... me da igual, para mi habláis en un idioma que no pillo..... ainsssss!

tzo dijo...

Para esnifar ala wireshark puedes usar

tPacketCapture (requiere ICS), te crea una VPN que intercepta todo el trafico y te guarda la sesión en pcap.




https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture

teki dijo...

Tuve una sensación de rabia y entusiasmo al leer el artículo. El motivo es porque hace dos meses, cuando descubrí esta aplicación, hice lo mismo que tú (sí, lo reconozco: estaba de exámenes jaja).


La diferencia es que nadie me entiende en mi entorno y esto son solo 'frikadas' para la mayoría... Pero te digo que me alegré un montón al ver que he hecho antes algo que habéis hecho vosotros, que sois referencia para muchos -entre ellos yo-.


¡Te has ganado un huequito en mi corazón, Lorenzo! xP

Juanjo dijo...

Muy buen artículo , Que se envíe en texto plano el password es .... aunque lo de ganar siempre para mi mejor es ganar con sin trampas y sino das más de ti , pues utilizar algún generador de palabras como http://www.palabras-que.com ...

mhb dijo...

Sin ánimo de crear polémica, apunto una cosilla: tú te aburres mucho ¿No?

Miguel Angel dijo...

Muy buen articulo.
Lo he flipado con el acceso al diccionario mediante api, y sobre todo que no vaya con token de sesión.


Me gustaría que echaras un vistazo a esta página www.apalabrados.co y me dijeras si puedes encontrar alguna vulnerabilidad dado que veo que controlas de ese tema.


Gracias.

quetecre dijo...

como puedo bloquear a un jugador de apalabrados en facebook para que no me pueda enviar más invitaciones?


APIS dijo...

Vaya esto lo vi en una publicacion de Informatica64. Quien copia a quien??

Lorenzo_Martinez dijo...

No sé,.. haz labor forense e investígalo tú solito Sherlock... Luego nos cuentas ;D

FINA dijo...

QUE PASA SI BLOQUEO A UN CONTRINCANTE DEL APALABRADOS, EL QUE VE?

Lorenzo_Martinez dijo...

En la última versión que he visto, tiene un botón "Bloquear", pero no he tenido tiempo para sentarme a mirar "cómo de bien funciona"... Lo pongo en mi To Do para una revisión próxima

Ariel dijo...

Simplemente espectacular!!!!! thx...

Sandra Dominguez Mateo dijo...

Gracias por el aporte, cogeré ideas para poder ganar más facilmente a Apalabrados ^^
Estas navidades, una nueva actualización de Apalabrados, junto con Movistar, jugando con palabras relacionadas con la Navidad, Movistar hará una donación a Aldeas Infantiles para su proyecto Becas de Comedor Escolar. http://www.palabrasquesuman.movistar.es/ Solo hay que actualizarlo y jugando se puede dar a muchos niños la Navidad que merecen.

car dijo...

Desde luego Lorenzo que eres una Crack tio. Siempre me sorprende algún articulo tuyo (como por ejemplo este), eres de los que es mejor tener como amigo que somo enemigo ;-) saludos.

Jaime dijo...

a que correo puedo contactar con vosotros para hacer una consulta??

Maria Perez dijo...

Mira jugar, es para eso para jugar y pasar un buen rato , no para intentar demostrar que lo que no se es. El mundo parece estar programado solo para ganar y nada más, pero creemé hay cosas que valen más la pena y muchos de verdad que lo sabemos,

Lorenzo_Martinez dijo...

Vaya, por lo visto debo haberte ganado alguna partida a este o a otro juego... Bueno no te preocupes, le pediremos a los Reyes Magos o al ratoncito Pérez que nos traiga un juego en el que podamos volver a tener ilusión tú y yo...

master dijo...

Gilipollas por que no te vas a follar a tu hermana y te dejas de molestar patetico

Rainbow dijo...

Todavía no entiendo las críticas. El artículo es bastante interesante, y no necesariamente tiene que aprovechar una vulnerabilidad crítica, es solo entretenimiento en cierto punto. ¿Para qué tantas críticas negativas? Doy mi positiva :)

Salva Calva dijo...

No me he enterado de la mitad de todo este verborreo.

Víctor dijo...

Hola, Lorenzo, buscaba una web como esta para preguntarte algo, quizá ingenuamente: ¿le puedo demostrar a un rival de Apalabrados que NO estoy haciendo trampa, o sea, que no estoy utilizando ningún programa que me ayude a ganar? Lo digo porque después de derrotar cuatro veces a un rival con un ránquing muy bueno, comenzó a enviarme mensajes por el chat acusándome de tramposo, y aunque he intentado convencerle de su error, no hay manera. Dice que no se pueden encontrar combinaciones tan rápido, ni palabras tan raras, etc. Sí que es cierto que soy de los que buscan obsesivamente todas las combinaciones, y si conviene busco en el diccionario, aparte de que soy profesional de la corrección/traducción de textos (y eso ayuda, claro), pero no tengo ni idea (ni ganas) de hacer trampa. ¿Qué gracia tendría? Sólo juego a Apalabrados con el PC. Gracias.

Lorenzo_Martinez dijo...

Lo que planteas es bastante complejo hasta de explicar. Por una parte, el ejemplo de "trampas" que yo he demostrado en este post, requiere que se juegue dentro de la misma red, de manera que se haga un ataque de "Man in The Middle" a la víctima. En el caso que tú planteas, que uses un diccionario aparte o una web específica con palabras válidas de apalabrados (ordenadas por mayor reparto de puntos), o aplicaciones que introduces las letras y te devuelven la jugada óptima,... para mí, es hacer trampas. Que por tu condición profesional tengas ventaja porque eres traductor, profesor de lengua española, o consejero de la RAE, no es hacer trampa,... sino estar especializado en el conocimiento de vocabulario válido. El problema lo tiene tu contrincante, no tú :D Antes de jugar una partida con alguien, adviértele que eres un ninja del lenguaje y que le vas a ganar... Si tu contrario acepta el reto, advertido estaba... jejeje

Andrea dijo...

por qué mi oponente puede colocar una palabra sin que esté cruzada con las demás y ami no me lo permite??

Lorenzo_Martinez dijo...

Hola Andrea,… puedes enviarme un pantallazo con un ejemplo de lo que dices? Eso no lo he visto nunca, y tampoco probé en su momento si la comprobación se hace en el cliente, en el servidor o en ambos. Puede que tu oponente también se haya sentado un ratito a pegarse con la API de Apalabrados y haya eso esa prueba :D

kurrupypy dijo...

Sólo una apreciación como curiosidad: Teóricamente se puede hacer una puntuación en una sola jugada muchísimo mayor que esa que pones de las zetas (nada menos que 905 puntos si no recuerdo mal. Hay capturas de pantalla en la red). Digo teóricamente porque se trata de una partida preparada donde una sola persona juega con los dos oponentes al mismo tiempo y, lógicamente, va adecuando las palabras a gusto, aunque es complicadísimo llegar a puntuar eso en una sola jugada. Ni que decir tiene que una partida normal entre dos personas sería otra historia muy distinta. Eso sí, supongo que en ese caso no habrá trampas como estas que comentas, je, je, je

kurrupypy dijo...

Cabroncete se te queda corto....

♛ Felipe ♛ dijo...

Ahora ya podéis escribir también un post de "¿Cómo ganar siempre al Preguntados?" ;-)

https://www.youtube.com/watch?v=kS7AsfG-3Yg