Contratti intelligenti

Dec 11 2022
Giorno 8 THM-Avvento di cyber 4
Questo compito ha fornito molta teoria su una vulnerabilità del contratto intelligente prima di passare effettivamente all'applicazione pratica della vulnerabilità di base. Sebbene sia abbastanza difficile da capire se non hai familiarità con blockchain e contratti intelligenti, ti consiglio di leggerlo brevemente per avere un'idea approssimativa di quale sia la scena sul palco.

Questo compito ha fornito molta teoria su una vulnerabilità del contratto intelligente prima di passare effettivamente all'applicazione pratica della vulnerabilità di base.

Sebbene sia abbastanza difficile da capire se non hai familiarità con blockchain e contratti intelligenti, ti consiglio di leggerlo brevemente per avere un'idea approssimativa di quale sia la scena sul palco.

Passiamo alla procedura dettagliata delle sfide.

useremo Remix IDE , che offre un ambiente sicuro e controllato per testare e distribuire i contratti come se fossero su una blockchain pubblica.

Ora scarichiamo i file e apriamo questo IDE nel nostro browser.

Quando apri Remix per la prima volta, vuoi attirare la tua attenzione sul lato sinistro; ci saranno un esploratore di file, una ricerca, un compilatore Solidity e un pulsante di navigazione di distribuzione, rispettivamente, dall'alto verso il basso. Trascorreremo la maggior parte del nostro tempo nel menu di distribuzione ed esecuzione delle transazioni in quanto ci consente di selezionare da un ambiente, account e contratto e interagire con i contratti che abbiamo compilato.

Vai avanti e apri i due file che hai scaricato in local_workspace.

dopodiché, vai su entrambi i file e compila entrambi i file sotto il compilatore di solidità.

Successivamente, vai a distribuire ed eseguire transazioni e selezionare un contratto.

Etherstore.sol sarà il primo che implementeremo. Dopo la distribuzione, modifica il valore in 1 e fai clic su Deposita sotto i contratti distribuiti.

il saldo cambierà da 0 a 1, puoi impostare il valore su qualsiasi numero tu voglia :)

Ora è il momento di schierare il nostro attacco. Vai al file di attacco, quindi distribuisci ed esegui transazioni

Per implementare questo è necessario un indirizzo, vai alle distribuzioni e copia l'indirizzo di etherstore.
Incollalo e distribuisci attack.sol

Ora vedrai l'attacco sotto i contratti schierati, tutto ciò che devi fare è cambiare il valore in 1 e fare clic su "attacca"

L'ho cliccato tre volte, quindi ho ottenuto 3ETH come saldo ma ne abbiamo depositati solo 1.

Questa è la vulnerabilità descritta nella stanza precedente.

Questa stanza è stata un po' travolgente, ma alla fine abbiamo avuto un'idea di come funzionano i contratti intelligenti e di come possiamo sfruttare una vulnerabilità di base.

Da Infosec Writeups: Ogni giorno nell'Infosec emergono molte cose di cui è difficile tenere il passo. Iscriviti alla nostra newsletter settimanale per ricevere tutte le ultime tendenze Infosec sotto forma di 5 articoli, 4 thread, 3 video, 2 repository e strumenti GitHub e 1 avviso di lavoro GRATIS!