Problema al rellenar el ataque de Oracle en esta base64: mensaje codificado en url (AES CBC 256)

0

Se supone que debo escribir un script que obtenga el texto plano de un mensaje que primero está codificado en base64, luego en la URL codificada (texto cifrado codificado en AES-256-CBC). El relleno también se usa para que el mensaje codificado sea un múltiplo del tamaño del bloque.

El mensaje es este: NkivYeRHPWDYVIG%2FgiptBDFmFe%2FWzZA9a9wFuMmuWL%2B6u7FUCZ40Xk4S13CndK1ZlCCvIhwmp%2BDyH58fxDptFA%3D%3D

Si escribo esto en un sitio específico (servidor), recibo ciertos mensajes (por ejemplo, si el relleno es inválido / válido, solicitud incorrecta si la longitud es incorrecta, ...).

Pero no sé cómo usaré el ataque de oráculo de relleno para encontrar el texto plano. No me importa el programa en absoluto, solo quiero entenderlo primero.

Comenzaré por decodificar el mensaje de modo que solo lo tenga en base64:

NkivYeRHPWDYVIG/giptBDFmFe/WzZA9a9wFuMmuWL+6u7FUCZ40Xk4S13CndK1ZlCCvIhwmp+DyH58fxDptFA==

Y en esta parte no estoy seguro de cómo continuar o más bien decir, comenzar el ataque del oráculo de relleno. Creo que necesito comenzar en el último bloque, en el último byte y volver. Entonces, comience con 0x01 al final y vea si el servidor da un resultado de relleno válido. ¿Tendría que eliminar los dos primeros "=" chracters? No lo creo porque son parte de la base64, así que empieza por eliminar FA en su lugar y reemplaza por 01 ?

Espero que me puedas dar algunos consejos, realmente he revisado tantos sitios y libros, pero no hay tanta información como me imaginaba: /

Estoy lejos de escribir un guión para eso, pero me gusta entenderlo al menos.

    
pregunta roblind 06.06.2018 - 22:51
fuente

0 respuestas

Lea otras preguntas en las etiquetas