Open jfzazo opened 3 years ago
Hola
Podeis ayudarme? He seguido tus sabios consejos y he logrado ver la cadena de texto. Pero al meterla en las respuestas me pone error y me pone que la respuesta es una cadena mucho mas larga y distinta, pero al probar esa en el programa pone una que no coincide.
Me he saltado algo?
Me pasa lo mismo que a chamitux:
Leemos este artículo, https://mathiasbynens.be/notes/pbkdf2-hmac y razonamos que si las colisiones pasando la cadena a hexadecimal ocurren para SHA-1, probablemente también ocurran para SHA-256. Entonces, tomamos la cadena y la pasamos a hexadecimal con https://emn178.github.io/online-tools/sha256.html El resultado es: b13bbf0ea3faeb0b3453d7deb0fb446201aa68b13575b30f2317e6a1dd859050 Ahora, metemos las marcas de número hexadecimal, resultando: \xb1\x3b\xbf\x0e\xa3\xfa\xeb\x0b\x34\x53\xd7\xde\xb0\xfb\x44\x62\x01\xaa\x68\xb1\x35\x75\xb3\x0f\x23\x17\xe6\xa1\xdd\x85\x90\x50 Modificamos la línea del script convenientemente:
h2 = pbkdf2sha256hex(b'\xb1\x3b\xbf\x0e\xa3\xfa\xeb\x0b\x34\x53\xd7\xde\xb0\xfb\x44\x62\x01\xaa\x68\xb1\x35\x75\xb3\x0f\x23\x17\xe6\xa1\xdd\x85\x90\x50', b'c1b3rwall', 1000000)
Ejecutamos y voilà:
PBKDF-HMAC-SHA1: 2d9a0911685c8061caabfd248677681adae1e306 2d9a0911685c8061caabfd248677681adae1e306 PBKDF-HMAC-SHA256: d45cfc72d1bce2b4055937d0707d33114a75751c27db8452c68064861b9b5831 d45cfc72d1bce2b4055937d0707d33114a75751c27db8452c68064861b9b5831 PBKDF-HMAC-SHA1: 6396253cb44505ba44706d8471483ff23356173c 6396253cb44505ba44706d8471483ff23356173c PBKDF-HMAC-SHA256: 9c6ee91a5589a3b3d9bfb73b62b6a07e713f1eb1a0f9a48694a5ddf3956b87cb --->9c6ee91a5589a3b3d9bfb73b62b6a07e713f1eb1a0f9a48694a5ddf3956b87cb<--- ------- FLAG: ------- Your goal is calculate the value that collides the message. Please input it module3{b'value'}
Sin embargo el flag module3{b'\xb1\x3b\xbf\x0e\xa3\xfa\xeb\x0b\x34\x53\xd7\xde\xb0\xfb\x44\x62\x01\xaa\x68\xb1\x35\x75\xb3\x0f\x23\x17\xe6\xa1\xdd\x85\x90\x50'} falla.
La aplicación da los dos hashes iguales, pero lo mejor es que se supone que es codigo hexadecimal y la solución que ellos dan contiene una n y una U mayúscula, además de algun otro signo raro. No es, por tanto hexadecimal.
No sé si alguien ha encontrado otra solución? Por si nos hemos equivocado, estaría bien que alguien más comentara su opinión, gracias!
Hola, @ricardoh34
Ya nos han dado respuesta desde la organización, y nuestra respuesta es la buena. Asi que, hemos llegado a la solucion aunque la de valida la plataforma.
Un saludo
SHA256 tiene un bloque de 64 bytes. Ahora bien, la clave que se desea cifrar tiene una longitud superior a 64B.
Entonces, por definición del algoritmo (https://mathiasbynens.be/notes/pbkdf2-hmac) se tiene que:
Pues calculemos dicho hash SHA256,
Y verifiquémoslo en el programa de ejemplo: