Problema che utilizza padding oracle attack su questo base64 - messaggio in codice url (AES CBC 256)

0

Dovrei scrivere uno script che ottenga il testo in chiaro di un messaggio che viene prima codificato in base64, quindi codificato tramite URL (testo cifrato codificato in AES-256-CBC). Anche il riempimento è usato in modo tale che il messaggio codificato sia un multiplo della dimensione del blocco.

Il messaggio è questo: NkivYeRHPWDYVIG%2FgiptBDFmFe%2FWzZA9a9wFuMmuWL%2B6u7FUCZ40Xk4S13CndK1ZlCCvIhwmp%2BDyH58fxDptFA%3D%3D

Se scrivo questo in un sito specifico (server), ottengo determinati messaggi (ad esempio se padding non è valido / valido, richiesta errata se la lunghezza è errata, ..).

Ma non so come userò il padding oracle attack su questo per trovare il testo in chiaro. Non mi interessa affatto il programma, mi piace solo capirlo prima.

Quindi vorrei iniziare decodificando il messaggio in modo tale da averlo appena trovato in base64:

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

E in questa parte non sono sicuro di come continuare o meglio dire iniziare l'attacco oracle a padding. Penso di aver bisogno di iniziare all'ultimo blocco, ultimo byte e tornare indietro. Quindi inizia con 0x01 alla fine e vedi se il server fornisce un risultato di riempimento valido? Avrei bisogno di rimuovere i primi due% di% di caratteri? Non penso perché fanno parte di base64, quindi inizia a rimuovere "=" e sostituisci con FA ?

Spero che tu possa darmi qualche suggerimento in realtà ho controllato così tanti siti e libri ma non ci sono tante informazioni quante ho immaginato: /

Sono molto lontano dalla scrittura di uno script per questo, ma mi piace capirlo almeno.

    
posta roblind 06.06.2018 - 22:51
fonte

0 risposte

Leggi altre domande sui tag