Come applicare la forza bruta a un'applet Java nel browser?

4

Sto risolvendo una sfida CTF ed è multistrato: link

(I browser moderni non supportano più le applet Java e ho dovuto scaricare il browser Opera 9.x per eseguire correttamente l'applet.)

Mi rendo conto che ho bisogno di forzare la Java Applet per trovare la giusta combinazione di impostazioni.

Quello che ho provato:

  • Ho notato l'applet nella pagina e ho usato wget per scaricarlo e jd-gui per invertirlo. Notato alcune altre classi che tira da e li ho anche scaricati. Ma non vedo come posso ricreare l'app nel mio sistema locale in modo tale da poterlo forzare.

  • Usato Wireshark per catturare i pacchetti diretti alla pagina web in ordine di manipolare la richiesta e inviare nuovamente le query che usano la forza bruta impostazioni. Tuttavia, la pagina Web è HTTPS (crittografia end-to-end) e quindi non posso veramente leggere la comunicazione dopo che "seguo il TCP flusso "sul browser.

  • Ho scaricato i file di classe Java e ho provato a ricreare la macchina sul mio sistema locale, ma è complicato e non ho potuto farlo funzionare.
  • Usato Burp Suite proxy per acquisire le richieste che vanno alla pagina web. Non c'è fortuna lì. Una volta caricata l'applet Java, giocare con le impostazioni non genera nuove richieste nel mio proxy Burp. Quindi niente da catturare e manipolare. Suppongo che ciò avvenga perché l'applet è caricata sul mio client e nessuna richiesta HTTP viene inviata al server quando sto giocando con l'applet Java.

La mia domanda:

Come posso forzare la macchina del rotore nell'applet Java? In altre parole, come posso inviare diversi dati alla macchina e osservare l'output in modo automatico?

    
posta whoami 17.12.2017 - 01:58
fonte

1 risposta

4

Sei sulla strada giusta scaricando l'applet manualmente e decomponendola, è così che mi avvicinerei anche io. Potresti semplicemente aver bisogno di più comprensione del codice per invertire il modo in cui sta scaricando al volo classi extra. Nota che non è necessario eseguire l'app per capire come funziona: la sfida è recuperare le cosiddette "impostazioni del rotore" che dovrebbero essere abbastanza facili da capire dalle classi decompilate.

Puoi anche usare uno strumento come Charles Proxy per aggirare il problema HTTPS - Charles ti fornirà un certificato di root che devi installare nel trust store del browser (e possibilmente nel trust store di Java - sul mio Mac per esempio il Il riquadro delle preferenze Java ha il proprio archivio di fiducia), lo strumento intercetterà quindi HTTPS e presenterà certificati server validi firmati da tale certificato radice nell'applicazione Java. Tuttavia, sarei davvero sorpreso se questa particolare app richiamasse effettivamente qualsiasi servizio esterno oltre il suo caricamento iniziale.

Nel peggiore dei casi, puoi sempre usare l'applet normalmente e utilizzare alcuni strumenti di automazione come AutoIt per interagire con esso.

Buona fortuna!

    
risposta data 17.12.2017 - 02:44
fonte

Leggi altre domande sui tag