PlaidCTF 2011 – Division is HARD!!

Esta vez participamos en el PlaidCTF, organizado por el Plaid Parlament of Pwning. Muchos retos, casi 40 para resolverlos en 2 dias, y con una dificultad considerable.

Obtuvimos la posicion numero 42 con NULL Life, aunque nos faltaba un miembro importante del equipo. Nos ubicamos por encima de los otros equipos Colombianos, el ultimo dia del ctf el equipo RICTeam nos logro empatar, pero teniamos un As bajo la manga y los pudimos dejar abajo faltando 5 minutos para terminar el CTF cuando ya poco podian hacer. Pueden ver la tabla de posiciones completa en el sitio de plaidctf.

Daniel publico la solucion para el reto I’m feeling lucky. Y por mi parte les publicare la solucion para Division is hard, esto para ayudarle a cierto equipo con casi 16 anios de experiencia que no pudo resolverlo (de hecho no resolvio ninguno) :C

«Division is HARD!!»
We found an old document in one of the AED offices. However, the text is distorted. Figure out what the corrupted value is.
1.3337 ~= XXXXXXX/3145727

Buscando en google los dos numeros presentados en el problema, podemos ver de que se trata, el error de hardware coprocesador de floating point que incluian algunos procesadores Pentium (hace 16 anios coincidencialmente ).

http://www.ipsr.ku.edu/stafffil/hoyle/pentium_fdiv/

http://en.wikipedia.org/wiki/Pentium_FDIV_bug

Al realizar la division 4195835/3145727 en un procesador afectado devolvería 1.3337 cuando el resultado correcto es 1,3338. La respuesta del reto era 4195835.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *